我正在尝试将从活动转移到片段的参数转换为另一个片段。该应用程序崩溃并说出了膨胀的问题。
这是我的错误日志:
09-26 09:22:03.968 1524-1524/com.example.user.unchained E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.example.user.unchained, PID: 1524
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.user.unchained/com.example.user.unchained.HomesActivity}: android.view.InflateException: Binary XML file line #36: Error inflating class fragment
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
at android.app.ActivityThread.access$800(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
代码的相关部分
final Fragment hf = new HeaderFragment();
Bundle i = getArguments();
Bundle ii = new Bundle();
View header = inflater.inflate(R.layout.fragment_header_fragement, null);
View footer = inflater.inflate(R.layout.fragment_footer, null);
mDrawerListView.addHeaderView(header);
mDrawerListView.addFooterView(footer);
ii.putString("Id",i.getString("Id"));
ii.putString("Name",i.getString("Name"));
ii.putString("ImgUrl",i.getString("ImgUrl"));
hf.setArguments(ii);
header.addOnAttachStateChangeListener(new View.OnAttachStateChangeListener() {
@Override public void onViewDetachedFromWindow(View v) {}
@Override public void onViewAttachedToWindow(View v) {
getChildFragmentManager()
.beginTransaction()
.add(R.id.fragment, hf)
.commit();
}
});
答案 0 :(得分:0)
您似乎没有指定根视图。
public View inflate(int资源,ViewGroup根目录)
从指定的位置膨胀新的视图层次结构 xml资源。如果出现错误,则抛出InflateException。
参数 resource =要加载的XML布局资源的ID(例如,R.layout.main_page)
root =可选视图,作为生成的层次结构的父级。返回膨胀层次结构的根视图。
如果提供了root,则这是根视图;否则它是膨胀的XML文件的根。
由于您没有在任何一个语句中定义根视图,因此您将从header
作为根视图,然后立即切换到footer
作为根视图。