我在这里遇到一个奇怪的问题。我只是想在片段中为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);
}
答案 0 :(得分:2)
你的问题是你两次给视图充气 替换:
return inflater.inflate(R.layout.fragment_class, container, false);
使用:
return v;
要解释问题所在,您要膨胀视图,设置文本和文本颜色,然后对不同的视图进行膨胀并将其指定为将用于片段的视图
答案 1 :(得分:0)
尝试使用
View v = getActivity().getLayoutInflater().inflate(R.layout.fragment_class, container, false);
而不是
View v = inflater.inflate(R.layout.fragment_class, container, false);