我正在使用TabHost在我的应用程序中显示3个选项卡(仪表板,订单和客户)。其中每个都是包含ListView的单独Activity,并且工作正常。它们都具有类似Android Marketplace中的“无限滚动”系统,并且当您在不同选项卡之间切换时,它们会保留在ListView中的位置。当您单击ListView中的项目时,它当前会加载一个全新的活动全屏并离开TabHost。我想在TabHost中加载这些活动(例如,点击客户列表中的特定客户,然后让您在客户选项卡中查看客户详细信息。然后您可以返回客户列表而不会丢失你的位置/重新加载清单)。我已经阅读了有关ActivityGroup和ViewFlipper的内容,但我正在努力克服如何实现我想要的行为。
答案 0 :(得分:0)
mTabHost = getTabHost();
mTabHost.setOnTabChangedListener(this);
TabSpec spec;
String Tab_title3 = "NameofTab";
TextView txtTabInfo3 = new TextView(this);
setUpTextView(txtTabInfo3);
txtTabInfo3.setText(Tab_title3);
intent = new Intent();
intent.setClass(this, YourClass.class);
spec = mTabHost.newTabSpec(Tab_title3).setIndicator(txtTabInfo3)
.setContent(intent);
mTabHost.addTab(spec);
因此,如果YourClass是ListActivity,你可以在其中放置一个弹出对话框,例如另一个包含客户详细信息的List,然后你可以添加一个关闭按钮。对于您的对话框,您可以使用适配器或其他设置自定义视图列表视图。 例如,在方法中:
buildMyDialog(){
final Dialog dialog = new Dialog(this);
lv2=new ListView(this);
lv2.setAdapter(mAdapter2);
//....
final Button cancelButton=new Button(this);
dialog.setContentView(lv2);
dialog.show(
}