我有一个菜单屏幕(活动'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 来“重置”一个选项卡。
有任何想法吗?