以编程方式在Fragment中膨胀XML

Kap*_*uri 1 xml android android-layout android-fragments layout-inflater

我有MainActivity.java我的第一个片段和另一个片段中Fragment.java有一个TabHost.当用户单击MainActivity中的按钮时,我想在第二个片段的Tab1中膨胀XML.

OnClickListenerButton的MainActivity内容如下:

btOkButton.setOnClickListener(new View.OnClickListener() {

    public void onClick(View v) {

        LayoutInflater lf = getLayoutInflater();
        Fragment.updateTab1(lf);                
    }               
});
Run Code Online (Sandbox Code Playgroud)

updateTab1(..)在片段类方法是:

public static void updateTab1(LayoutInflater lf) {
        lf.inflate(R.layout.xml_to_inflate, (ViewGroup)llTab1, false);
    }
Run Code Online (Sandbox Code Playgroud)

哪里:

llTab1 = (LinearLayout)getActivity().findViewById(R.id.tab1);
Run Code Online (Sandbox Code Playgroud)

这样做时我没有得到任何异常,也没有强制关闭.

在Debug中,我可以看到所有这些代码都运行,没有任何异常,但没有必要的XML被夸大.

Kap*_*uri 5

最后什么对我有用:

在处理片段时,我错过了onCreate()中的后续行以使inflater对象工作:

inflater = getActivity().getLayoutInflater();

并保持其余的代码.