TabHost 中有 4 个选项卡,分别为 A、B、C 和 D。现在每个选项卡都只是一个索引页面,单击其中任何一个都会显示不同的活动。
问题是当用户从选项卡中显示的内容中选择某些内容时,我需要启动另一个活动。其他活动也应显示在父选项卡本身中。可能吗?还是我必须尝试其他方法?
TabHost 中有 4 个选项卡,分别为 A、B、C 和 D。现在每个选项卡都只是一个索引页面,单击其中任何一个都会显示不同的活动。
问题是当用户从选项卡中显示的内容中选择某些内容时,我需要启动另一个活动。其他活动也应显示在父选项卡本身中。可能吗?还是我必须尝试其他方法?
试试这个,在 android 食谱中找到了这个解决方案, http://androidcookbook.com/Recipe.seam;jsessionid=5424397F3130CE7769FF47DD67742911?recipeId=1693&recipeFrom=ViewTOC
你不能改变你的标签的 contentView 而不是开始一个新的 Activity 吗?
也许我错了,但我也认为不可能在选项卡中启动活动,因为 TabView 托管在活动中,而不是相反(Tabview 不托管每个选项卡的活动)。
我认为普遍的共识是,由于这些限制,最好不要将单个活动用作选项卡内容。请参阅这些问题和答案以获取替代方案的指示:
总结 Rukmal Dias 提供的链接。这是你要做的:
复制/粘贴并在您当前的活动中调用此函数,其中“id”是您要切换到的新活动的布局的“android:id”
public void replaceContentView(String id, Intent newIntent){
View view = getLocalActivityManager().startActivity(id,newIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)) .getDecorView();
this.setContentView(view);}
这是我如何调用从当前选项卡式活动中切换视图的示例:
public void switchToNextActivity(View view)
{
Intent myIntent = new Intent(getApplicationContext(), MyNextActivity.class);
replaceContentView("next_activity", myIntent);
}
它失去了视图层次结构。在我的情况下,当您按下后退按钮时,应用程序将关闭。