1

ここで奇妙な問題に直面しています。Fragment の TextView に値を設定しようとしています。問題は、それがまったく更新されないことです。色も変わりません。ただし、定義済みのテキスト「test」が表示されるので、レイアウト関連の問題を除外できます。これに関するアイデアはありますか?ありがとう !!

fragment_class.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>

Fragment.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

あなたの問題は、ビューを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 に答える