android选项卡活动转到上一个选项卡
我有一个有五个标签的活动。当我从表1转到表2或表3时,一切看起来都很好。如何以编程方式从选项卡2返回到选项卡1android选项卡活动转到上一个选项卡,android,tabs,Android,Tabs,我有一个有五个标签的活动。当我从表1转到表2或表3时,一切看起来都很好。如何以编程方式从选项卡2返回到选项卡1 Intent myIntent = new Intent(this, Tab1.class); myIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(myIntent); 这无法正常工作,因为它启动活动1时没有任何选项卡 从选项卡1转到选项卡2时,我可以看到
Intent myIntent = new Intent(this, Tab1.class);
myIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(myIntent);
这无法正常工作,因为它启动活动1时没有任何选项卡
从选项卡1转到选项卡2时,我可以看到选项卡1和选项卡2当前选项卡已激活。但是当从表2转到表1时,表1和表2都会从活动中消失。什么原因会导致这种情况?这肯定会对您有所帮助
TabHost tabHost = (TabHost) getParent().findViewById(android.R.id.tabhost);
tabHost.setCurrentTab(1);
或者您可以参考此链接
谢谢:只需使用finish方法即可
public void onClick(View v)
{
finish();
startActivity(new Intent(Activity2.this, Activity1.class));
}
我不知道它的意图。FLAG\u ACTIVITY\u CLEAR\u TOP,从来都不需要,但是提到的松开选项卡的效果是通过从您的TabHost(而不是其中一个选项卡)调用startActivity产生的。如果是这样的话,把电话移到那里,你的标签就应该留在那里。我也有类似的情况,但似乎没有一个答案有用。因此,我在这里发布我的解决方案:
// tab selection history, each tab has a tag which is a string
private List<String> tabIdHistory = new ArrayList<String>();
@Override
protected void onCreate(Bundle savedInstance) {
super.onCreate(savedInstanceState);
// this layout contains TabHost and TabWidget
setContentView(R.layout.activity_main);
TabHost tabHost = (TabHost) findViewById(android.R.id.tabhost);
tabHost.setup();
tabHost.setOnTabChangedListener(new TabHost.OnTabChangeListener() {
@Override
public void onTabChanged(String tabId) {
tabIdHistory.remove(tabId); // ensure uniqueness
tabIdHistory.add(tabId);
}
});
// continue your tab initialisation, such as
// tabHost.addTab(tabHost.newTabSpec(TAG)
// .setContent(...).setIndicator(...));
}
@Override
public void onBackPressed() {
if (tabIdHistory.size() > 1) {
// pop the current last item, we want the second last
tabIdHistory.remove(tabIdHistory.size() - 1);
tabHost.setCurrentTabByTag(tabIdHistory.get(tabIdHistory.size() - 1));
} else {
super.onBackPressed();
}
}
如果使用select tab1、tab3、tab2、tab1,则返回堆栈为3、2、1,如果用户按三次返回按钮,应用程序将退出主屏幕。如果要保留完整的历史记录,请注释掉以下行:
tabIdHistory.removetabId
我将从activity2转到activity1。你发布了什么?你的活动必须是TabActivity。如果你想通过编程在tab2Activity到tab1Activity之间导航,请使用我的代码。谢谢:@Angela如果我的答案对你有帮助,请不要忘记接受我的答案,并投票给我,我们将不胜感激。谢谢:当返回到上一个活动时,选项卡菜单将消失。请查看可能相同的问题