0

MainActivityでListFragmentを作成しようとしている非常に基本的なアプリケーションがあります。

次のランタイムエラーが発生し続けます:

java.lang.RuntimeException:アクティビティを開始できませんComponentInfo {com.proto1.listfragment / com.proto1.listfragment.MainActivity}:android.view.InflateException:バイナリXMLファイルの行#7:クラスフラグメントの拡張エラー

私には2つのクラスがあります。

1つ目は、以下に示すMainActivity.javaです。

パッケージcom.proto1.listfragment;

import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.view.Menu;

public class MainActivity extends FragmentActivity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
}

2つ目は、以下に示すように、listfragmentSectionsListに関連するクラスです。

package com.proto1.listfragment;

import android.os.Bundle;
import android.support.v4.app.ListFragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;

    public class SectionsList extends ListFragment {

        //Create an array to hold the sections
        String sections [] = new String []{
            "Starters", "Mains", "Sides", "Desserts", "Drinks"
        };

        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {  

            //Create array adapter to store list of menu sections
            ArrayAdapter<String> adapter = new ArrayAdapter<String>(inflater.getContext(), android.R.layout.simple_list_item_1,sections);

            //Set list adapter of fragment
            setListAdapter(adapter);

            return super.onCreateView(inflater, container, savedInstanceState);     
        }

    }

次に、以下に示すように、activity_mainというXMLレイアウトファイルが1つあります。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:orientation = "horizontal"
android:layout_height="fill_parent" >

<fragment 
    android:name = "com.proto1.listfragment.MainActivity"
    android:id="@+id/sectionFrag"
    android:layout_width = "wrap_content"
    android:layout_height = "fill_parent"/>

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/hello_world"
    tools:context=".MainActivity" />

このエラーが発生している理由がわかりません。誰かがこの問題に光を当ててくれませんか?どうもありがとう!

4

2 に答える 2

3

FragmentActivityは、それ自体がフラグメントではありません。むしろ、それはフラグメントと簡単に対話する方法です。xmlで呼び出すフラグメントはSectionListである必要があります。

于 2012-11-26T22:47:47.703 に答える
2

以下をactivity_mainxmlファイルに編集します

<fragment 
android:name = "com.proto1.listfragment.SectionList"
android:id="@+id/sectionFrag"
android:layout_width = "wrap_content"
android:layout_height = "fill_parent"/>
于 2012-11-26T22:53:13.803 に答える