3

その中にアクティビティ A と TabHost があります。私の TabHost には 2 つのタブがあります。最初のタブにはアクティビティ B があり、2 番目のタブにはアクティビティ C があります。

ここに画像の説明を入力

アクティビティ A にはメニューがあります。アクティビティ B と C にはメニューがありません。Activity AI をクリックするとメニューを開くことができますが、いずれかのタブをクリックすると A のメニューが表示されません。これは、アクティビティ B または C がアクティブになっていて、A のメニューにアクセスできないことを意味します。

この TabHost がある場合、A のメニューまたはその他のリソースにアクセスするにはどうすればよいですか?

4

2 に答える 2

5

タブ付きのアクティビティでこのコードを試してください。

@Override public boolean onCreateOptionsMenu(Menu menu) {
    if(getParent() != null) {
        return getParent().onCreateOptionsMenu(menu);
    }
}

したがって、基本的に、タブ付きアクティビティは、オプションメニュー要求をホストに「リダイレクト」します。

于 2012-09-10T17:07:33.303 に答える
0

Acrivity AのメニューをAcitvity Bに入れることができます...

そのためには、アクティビティ A のオブジェクトをアクティビティ B に宣言する必要があります.....以下のように...

public static ActivityA a = null;

アクティビティ B でonMenuItemSelected()メソッドを宣言します。

public boolean onMenuItemSelected(int featureId, MenuItem item) {
     return a.onMenuItemSelected(featureId, item);       
}
于 2012-09-13T06:03:29.423 に答える