收到错误inflating fragment error while running calling an Activity which having fragments.
CheckList是包含listview and Description fragments.
的活动,其xml代码为:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent" android:layout_height="match_parent">
<fragment class="com.uday.honeytest.CheckList$listview"
android:id="@+id/titles" android:layout_weight="1"
android:layout_width="0px" android:layout_height="match_parent" />
<fragment class="com.uday.honeytest.CheckList$Description"
android:id="@+id/details" android:layout_weight="1"
android:layout_width="0px" android:layout_height="match_parent"
android:background="?android:attr/detailsElementBackground" />
</LinearLayout>
CheckList类是:
public class CheckList extends Activity {
static int position=0;
static CheckList check;
public void onCreate(Bundle saved){
super.onCreate(saved);
setContentView(R.layout.checklist);
}
public static class listview extends ListFragment {
View mConverView;
String[] items;
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
}
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
xxxxxx..
return mConverView;
}
}
同样我在这下面有描述片段。
但我正在
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.uday.honeytest/com.uday.honeytest.CheckList}: android.view.InflateException: Binary XML file line #9: Error inflating class fragment
setContentView行出现错误。
和我的描述片段类是:已编辑:
public static class Description extends Fragment {
View mConverView;
String details[];
public static Description getInstance() {
Description desc=new Description();
return desc;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
}
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
TextView textview=new TextView(getActivity());
textview.setLayoutParams(new LayoutParams(MarginLayoutParams.WRAP_CONTENT, MarginLayoutParams.WRAP_CONTENT));
return textview;
}
}
这里有什么问题?
由于
答案 0 :(得分:8)
您的活动CheckList应该扩展FragmentActivity。
答案 1 :(得分:1)
<fragment class="com.uday.honeytest.CheckList$Description"
是收到错误的地方。
您确定您是否正确输入了完全限定的类名?
您是否尝试过清理项目/修复项目属性?
我没有在该课程中看到任何名为Description
的内容,这可能是问题所在。
希望这有帮助。
答案 2 :(得分:1)
我刚刚删除了onCreateView
中的which contains inflating xml
代码listview fragment
,并转入onActivityCreated
方法,并将其工作。
The reason may be:
ListFragment具有由单个列表视图组成的默认布局。但是,如果需要,可以通过从onCreateView(LayoutInflater,ViewGroup,Bundle)返回自己的视图层次结构来自定义片段布局。为此,您的视图层次结构必须包含一个ID为“@android:id / list”的ListView对象(如果它在代码中则列出)
所以我的listview扩展了ListFragment而不是在xml中包含list,直接我们可以在onActivityCreated而不是onCreateView中使用setListAdapter。