web-dev-qa-db-ja.com

Android例外: 'public void setup(LocalActivityManager activityGroup)'を呼び出すのを忘れましたか

MyCode:

public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        final TabHost tabHost = (TabHost) findViewById(R.id.tabhost);

//      LocalActivityManager mLocalActivityManager = new LocalActivityManager(this, false);
        tabHost.setup();

        TabSpec tabSpecCheckIn = tabHost.newTabSpec(getResources().getText(R.string.button_check_in).toString());

        tabSpecCheckIn.setIndicator(getResources().getText(R.string.button_check_in).toString(), getResources().getDrawable(Android.R.drawable.star_off));
        tabSpecCheckIn.setContent(R.id.check_in);
        tabHost.addTab(tabSpecCheckIn);

        TabSpec tabSpecReview = tabHost.newTabSpec(getResources().getText(R.string.button_review).toString());
        tabSpecReview.setIndicator(getResources().getText(R.string.button_review).toString(), getResources().getDrawable(Android.R.drawable.star_off));
        tabSpecReview.setContent(R.id.review);
        tabHost.addTab(tabSpecReview);

        TabSpec tabSpecMyCircles = tabHost.newTabSpec(getResources().getText(R.string.button_my_circles).toString());
        tabSpecMyCircles.setIndicator(getResources().getText(R.string.button_my_circles).toString(), getResources().getDrawable(Android.R.drawable.star_off));
        tabSpecMyCircles.setContent(R.id.my_circle);
        tabHost.addTab(tabSpecMyCircles);

        TabSpec tabSpecMySettings = tabHost.newTabSpec(getResources().getText(R.string.button_settings).toString());
        tabSpecMySettings.setIndicator(getResources().getText(R.string.button_settings).toString(), getResources().getDrawable(Android.R.drawable.star_off));
        tabSpecMySettings.setContent(new Intent(this,CheckInActivity.class));
        tabHost.addTab(tabSpecMySettings);

        tabHost.setCurrentTab(0);
    }
}

XML:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:orientation="vertical" Android:layout_width="fill_parent"
    Android:layout_height="fill_parent">

    <TabHost Android:id="@+id/tabhost"
        Android:layout_width="fill_parent" Android:layout_height="fill_parent">

        <TabWidget Android:layout_width="fill_parent"
            Android:layout_height="wrap_content" Android:id="@Android:id/tabs"
            Android:layout_gravity="bottom" />


        <FrameLayout Android:id="@Android:id/tabcontent"
            Android:layout_width="fill_parent" Android:layout_height="fill_parent"
            Android:paddingTop="65px">

            <LinearLayout Android:id="@+id/check_in"
                Android:orientation="vertical" Android:layout_width="fill_parent"
                Android:layout_height="fill_parent" Android:padding="5px">
                <TextView Android:layout_width="wrap_content"
                    Android:layout_height="wrap_content" Android:text="date"
                    Android:textStyle="bold" />
            </LinearLayout>

            <LinearLayout Android:id="@+id/review"
                Android:orientation="vertical" Android:layout_width="fill_parent"
                Android:layout_height="fill_parent" Android:padding="5px">
                <TextView Android:layout_width="wrap_content"
                    Android:layout_height="wrap_content" Android:text="lieu"
                    Android:textStyle="bold" />
            </LinearLayout>

            <LinearLayout Android:id="@+id/my_circle"
                Android:orientation="vertical" Android:layout_width="fill_parent"
                Android:layout_height="fill_parent" Android:padding="5px">
            </LinearLayout>

            <LinearLayout Android:id="@+id/setting"
                Android:orientation="vertical" Android:layout_width="fill_parent"
                Android:layout_height="fill_parent" Android:padding="5px">
            </LinearLayout>
        </FrameLayout>
    </TabHost>
</LinearLayout>

設定のボタンをクリックすると、抜粋:

'public void setup(LocalActivityManager activityGroup)'を呼び出すのを忘れましたか

誰が私を助けられるか。 TabActiviyまたはActivityGroupからさらに他の例外を拡張しようとしています!!!
[。

15
ZHAO Xiaojian

次のように、MainActivityの基本クラスをActivityからActivityGroupに変更する必要があります。

  public class MainActivity extends ActivityGroup {
  ...
  }

ActivityGroupは、LocalActivityManagerのインスタンスを処理します。したがって、作成する必要はありません。基本クラスが変更されたら、基本クラスで定義されているgetLocalActivityManager()関数を呼び出して、そのインスタンスを取得します。次のようにtabHostのセットアップ関数を呼び出します。

  tabHost.setup(this.getLocalActivityManager());
38
douyw

Setup()の代わりに:

LocalActivityManager mLocalActivityManager = new LocalActivityManager(this, false);
setup(mLocalActivityManager);
3
Sameer Segal