タブホストの横に複数のタブがあるメニュー画面 (アクティビティ '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 の呼び出しが必要であるかのようです。
何か案は?