エラーが発生していますinflating fragment error while running calling an Activity which having fragments.
チェックリストは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>
チェックリストクラスは次のとおりです。
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行でエラーが発生しました。
そして私のDescriptionフラグメントクラスは:Edited:
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;
}
}
ここで何が悪いのですか?
ありがとう
アクティビティCheckListはFragmentActivityを拡張する必要があります。
which contains inflating xml
のonCreateView
code listview fragment
を削除し、それが機能するonActivityCreated
メソッドに移動しました。
The reason may be:
ListFragmentには、単一のリストビューで構成されるデフォルトのレイアウトがあります。ただし、必要に応じて、onCreateView(LayoutInflater、ViewGroup、Bundle)から独自のビュー階層を返すことにより、フラグメントレイアウトをカスタマイズできます。これを行うには、ビュー階層にIDが「@ Android:id/list」(またはコード内の場合はリスト)のListViewオブジェクトが含まれている必要があります。
したがって、私のリストビューは、xmlのリストを連結せずにListFragmentを拡張し、onCreateViewではなくonActivityCreatedで直接setListAdapterを実行できます。
<fragment class="com.uday.honeytest.CheckList$Description"
はエラーが発生している場所です。
完全修飾クラス名が正しく入力されていることを確認しますか?
プロジェクトのクリーニング/プロジェクトプロパティの修正を試しましたか?
そのクラスにDescription
という名前のオブジェクトが表示されないため、問題が発生している可能性があります。
お役に立てれば。