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”=确定。

现在有两种可能:

(1) 如果我按下一个不同的选项卡,而不是选项卡“1”(也显示活动“B”),然后“返回”,然后再次单击选项卡“1”,它会启动活动“B”确定。

(2) 但是 - 如果我再次按下相同的选项卡“1”,什么都不会发生。我已在活动“A”(onCreate、OnResume、onNewIntent 等)上的所有可能活动上插入调试,包括对 m_tabHost 事件(onTabChanged、onClick、OnTouch)的调试,但没有显示任何内容。

就好像需要调用 onTabChanged 来“重置”一个选项卡。

有任何想法吗?

4

0 回答 0