我有MainActivity.java
作为我的第一个片段,另一个片段是Fragment.java
,其中有一个TabHost。当用户点击MainActivity中的按钮时,我想在第二个片段的Tab1中膨胀XML。
OnClickListener
中按钮的 MainActivity
如下:
btOkButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
LayoutInflater lf = getLayoutInflater();
Fragment.updateTab1(lf);
}
});
Fragment类中的updateTab1(..)
方法是:
public static void updateTab1(LayoutInflater lf) {
lf.inflate(R.layout.xml_to_inflate, (ViewGroup)llTab1, false);
}
其中:
llTab1 = (LinearLayout)getActivity().findViewById(R.id.tab1);
我这样做时没有得到任何异常,也没有强制关闭。
在Debug中,我可以看到所有这些代码都没有任何异常地运行,但是没有必要的XML被夸大。
答案 0 :(得分:5)
在处理片段时,我错过了 onCreate()中的后续行,以使 inflater 对象工作:
inflater = getActivity().getLayoutInflater();
并保持其余代码不变。