将textview设置为片段中的其他xml

时间:2014-11-07 18:41:42

标签: android android-layout android-fragments android-tabhost

我正在做一个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。我的代码有问题吗?

2 个答案:

答案 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