我正在做一个Android项目,它使用Tabhost链接到3个片段,并需要它们之间的一些通信。每个选项卡将包含另一个xml文件。我将不同sml文件中的不同元素链接到.java
文件。但它似乎没有用。这是代码:
在Main.xml中
<TabHost>
<LinearLayout>
<include
android:id="@+id/fragmentreview"
layout="@layout/fragentreview"/>
</LinearLayout>`
在fragentreview.xml中
<LinearLayout>
<TextView
android:id="@+id/textViewinfragR"
android:text="Text in new xml reviews" />
</LinearLayout>`
在fragment.class中
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragentreview, container, false);
txtMsgR = (TextView)rootView.findViewById(R.id.textViewinfragR);
txtMsgR.setText("Main Car integer = ");
return rootView;
}
当我启动应用 textViewinfragR 时,它应显示Main Car integer =
,但仍显示Text in new xml reviews
。我的代码有问题吗?
答案 0 :(得分:0)
您将文本设置在错误的位置。尝试在onActivityCreated中设置它
答案 1 :(得分:0)
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
txtMsgR = (TextView) view.findViewById(R.id.textViewinfragR);
txtMsgR.setText("Main Car integer = ");
}
这应该有效。在通胀完成后调用onViewCreated方法。
onCreateView - &gt; onViewCreated - &gt; onActivityCreated