我有一个由TabActivity扩展的类,它创建了多个选项卡。 ListActivity扩展了一个选项卡,当您在列表中选择一个选项时,应打开一个新活动。问题是此代码将丢失选项卡(在ListActivity中打开一个新活动,该活动是TabActivity的成员):
Intent myIntent = new Intent(view.getContext(), MyOtherActivity.class);
startActivity(myIntent);
有解决方案吗? 谢谢你的回答!
答案 0 :(得分:0)
编辑:根据MisterSquonk的评论,我可能误解了这个问题。我不相信您可以轻松更改该特定选项卡中的活动,但您有两个同样可行的选项:
使用ListView
删除标签,然后使用新的Activity
添加新标签
添加一个新标签:
public void addTab (TabHost.TabSpec tabSpec)
您可以在此处删除回复后的单个标签:How to remove tab from TabHost
改为使用常规Activity
并添加FrameLayout
ListView
以及您的替代内容:
bringToFront ()
确定View
z订单setVisibility()
用于VISIBLE或GONE 旧的,可能不相关的信息:
这里有几个问题涉及类似的设置:
ListActivity inside TabActivity
calling listactiviy from tabactivity in android
甚至是错误报告:http://code.google.com/p/android/issues/detail?id=3443
您可以看看他们是如何实现它的。我的0.02美元,只需延长Activity
并在内部添加ListView
。
答案 1 :(得分:0)
这将是一个更简单的解决方案,如果您可以自由更改您的设计,而不是ListActivity
您将拥有一个以ViewFlipper
为根的自定义布局的活动。在此ViewFlipper
内,您可以将第一个“页面”设置为ListView
,将第二个页面设置为子活动的视图。
单击项目时,只需在viewflipper上调用showNext
,然后根据所选项目使用正确的数据填充第二个布局。