1

我在这里面临一个奇怪的问题。我只是想为片段中的 TextView 设置一个值。问题是它根本没有更新。颜色也没有变化。虽然显示了预定义的文本“测试”,所以我可以排除任何与布局相关的问题。对此有什么想法吗?谢谢 !!

片段类.xml

    <?xml version="1.0" encoding="utf-8"?>
         <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:orientation="vertical" >

         <TextView
         android:id="@+id/classdetail"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:text="test"
         android:textColor="#000" />

    </RelativeLayout>

片段.java

     @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
    Bundle savedInstanceState) {



    //datasource = new ClassesDataSource(getActivity());
    //datasource.open();


    //Classes value = datasource.getClasses(this.getArguments().getString("id"));

    View v =  inflater.inflate(R.layout.fragment_class, container, false);
    TextView tv = (TextView) v.findViewById(R.id.classdetail);


    tv.setText("test_IDE");
    tv.setTextColor(Color.BLUE);



      // Inflate the layout for this fragment
    return inflater.inflate(R.layout.fragment_class, container, false);

}
4

2 回答 2

2

您的问题是您将视图膨胀两次。
代替:

return inflater.inflate(R.layout.fragment_class, container, false);

和:

return v;

为了解释问题出在哪里,您正在扩充视图,设置文本和文本颜色,然后扩充不同的视图并将该视图指定为将用于片段的视图。

于 2013-10-25T18:27:07.560 回答
0

尝试使用

View v =  getActivity().getLayoutInflater().inflate(R.layout.fragment_class, container, false);

代替

View v =  inflater.inflate(R.layout.fragment_class, container, false);
于 2013-10-25T18:36:17.060 回答