web-dev-qa-db-ja.com

バイナリXMLファイルの9行目:クラスフラグメントのインフレーションエラー

エラーが発生しています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;
        }
    }

ここで何が悪いのですか?

ありがとう

12
Udaykiran

アクティビティCheckListはFragmentActivityを拡張する必要があります。

8
spin.goran

which contains inflating xmlonCreateView code listview fragmentを削除し、それが機能するonActivityCreatedメソッドに移動しました。

The reason may be:

ListFragmentには、単一のリストビューで構成されるデフォルトのレイアウトがあります。ただし、必要に応じて、onCreateView(LayoutInflater、ViewGroup、Bundle)から独自のビュー階層を返すことにより、フラグメントレイアウトをカスタマイズできます。これを行うには、ビュー階層にIDが「@ Android:id/list」(またはコード内の場合はリスト)のListViewオブジェクトが含まれている必要があります。

したがって、私のリストビューは、xmlのリストを連結せずにListFragmentを拡張し、onCreateViewではなくonActivityCreatedで直接setListAdapterを実行できます。

1
Udaykiran

<fragment class="com.uday.honeytest.CheckList$Description"はエラーが発生している場所です。

完全修飾クラス名が正しく入力されていることを確認しますか?

プロジェクトのクリーニング/プロジェクトプロパティの修正を試しましたか?

そのクラスにDescriptionという名前のオブジェクトが表示されないため、問題が発生している可能性があります。

お役に立てれば。

1
Codeman