2

アクティビティを含む TabActivity があります。アクティビティのタブが選択されているときにメニュー ボタンを押すと、親の TabActivity で onPrepareOptionsMenu が呼び出されますが、選択されたタブのアクティビティでは呼び出されません。

タブ内をクリックしない限り、タブ内のアクティビティのオプション メニューは表示されず、両方の呼び出しが行われます (これが必要です)。タブが選択されているときにタブ内のアクティビティに「フォーカス」する方法はありますか?

4

2 に答える 2

0

TabHost(メインアクティビティ)のオプションメニューを指定せずに、すべてのタブアクティビティにこのコードを使用するだけです

    /**...........Context Menu........cg.*/
public boolean onCreateOptionsMenu (Menu menu) {
    menu.add(0, 0, Menu.NONE, "Refresh");
    menu.add(0, 1, Menu.NONE, "Exit");
    return true;
}

/**---------- Handles item selections ------------cg */
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case 0:
    System.out.println("Refresh");
    return true;

    case 1:

        System.out.println("Exit");

    return true;

    }
    return false;
}

お役に立てば幸いです。

ありがとう、ガナパシー。

于 2011-01-04T07:03:58.613 に答える
-1

質問を理解しているかどうかわかりません。

現在のタブ、フォーカスされているもの、およびメニューが親(タブ)からのものである場合は、これを試してください:

使用するメニュー内:

Activity MyActivity = this.getCurrentActivity();

if ( MyClassActivity.class.isInstance(MyActivity) == true )
{
     ((MyClassActivity)MyActivity).Refresh();   
}

アクティビティに更新機能を実装する必要があります。

これがお役に立てば幸いです。

エイドリアン。

于 2011-02-10T07:07:14.927 に答える