gpt4 book ai didi

java - Android 2.3.3,使用 tabhost 加载布局和第二个 tabhost 不起作用

转载 作者:行者123 更新时间:2023-12-01 15:19:50 26 4
gpt4 key购买 nike

下面是我想要的图片。

enter image description here

现在。当我单击某个项目(参见图像中的 2)时,会显示不正确的版本(参见图像中的 3)。

如何将第二个 tabhost(参见图中的 3)加载到第一个 tabhost 的框架布局中?

现在的代码(位于 2 中,参见图片)(产生不正确的布局)是这样的:

listView.setOnItemClickListener(new OnItemClickListener() {

public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {

Intent i = new Intent(StaticResources.FrameContainer.getContext(), AppSecondTabHost.class);
StaticResources.FrameContainer.getContext().startActivity(i);
}
});

静态变量:StaticResources.FrameContainer 在主 Activity 中设置(参见图中的 1),如下所示:

StaticResources.FrameContainer = (View)getTabHost().getTabContentView();

知道如何重写 onitem 点击事件以显示正确的版本吗?如图所示,右下版本有 2 个 tabhost。

编辑

要特别明确。我在图 1 中创建了 tabhost。当我单击其中一个选项卡时,一个 Activity 就会启动,并且该 Activity 会显示一个列表(图 2)。当我单击此列表中的某个项目时,该项目会将其 id 存储在 Intent 中,并在第一个 tabhost 内打开第二个 tabhost(图 3-4)。然后,第二个 tabhost(图 3)将读取 onitemclick 事件中图 2 中设置的 id。

最佳答案

如果您使用tabhost,如果您将所有选项卡添加到tabhost,它将自动处理所有选项卡单击事件。您不需要使用 onClickListener 手动更改选项卡 View 。

下面是我的应用程序的示例:

    intent = new Intent().setClass(this, deployment.class);
intent.putExtra("deploy_data", deployRawData);

spec = tabHost.newTabSpec("Deployment").setIndicator("Deployment",
res.getDrawable(R.drawable.man))
.setContent(intent);

tabHost.addTab(spec);

通过这种方式,您实际上是在添加到 tabhost 之前将 Activity 和 tabview bundle 在一起。它应该可以帮助您节省编写 onClickListener 的大量精力。

关于java - Android 2.3.3,使用 tabhost 加载布局和第二个 tabhost 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11100576/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com