0

タブホストの横に複数のタブがあるメニュー画面 (アクティビティ 'A') があります。これらのタブのいずれかをクリックすると、新しいアクティビティ ('B') が起動されます。以下を使用して、各タブのインテントを関連付けます。

public class AActivity extends TabActivity {...

{複数のタブを追加するためにループで呼び出される addScrollEntry...}

private void addScrollEntry(myObj p_myObj){
        Intent intent = new Intent().setClass(getApplicationContext(),BActivity.class);
        //intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
        setupTab(new TextView(this), p_myObj.someText, intent);
    }

private void setupTab(final View view, final String tag, Intent myIntent) {
    View tabview = createTabView(m_tabHost.getContext(), tag);
    TabSpec setContent =  m_tabHost.newTabSpec(tag).setIndicator(tabview).setContent(myIntent);
    m_tabHost.addTab(setContent);
}

私が抱えている問題:

タブ ('1') をクリックすると、Activity 'B' = OK が起動します。

次に、アクティビティ「B」で「戻る」を押して、アクティビティ「A」に戻ります = OK。

2つの可能性があります:

(1)タブ「1」以外の別のタブを押して(アクティビティ「B」も表示するため)、「戻る」タブをもう一度クリックしてから、アクティビティ「B」を起動しますOK。

(2) ただし、同じタブ '1' をもう一度押しても、何も起こりません。m_tabHost イベント (onTabChanged、onClick、OnTouch) のデバッグを含む、アクティビティ 'A' (onCreate、OnResume、onNewIntent など) のすべての可能なアクティビティにデバッグを挿入しましたが、何も表示されません。

タブを「リセット」するには、onTabChanged の呼び出しが必要であるかのようです。

何か案は?

4

0 に答える 0