gpt4 book ai didi

java - Tabhost 不更新选项卡

转载 作者:行者123 更新时间:2023-12-02 12:06:08 38 4
gpt4 key购买 nike

我试图在项目中使用垂直选项卡,但我无法让 tabhost 工作。我认为我没有从 Java 正确进入,但我不确定我做错了什么。虽然例子很多,但似乎已经过时了。看来 tabhost 已经改变了很多,所以我不确定正确的语法。这是我的 xml:

 <TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost" ...>
<LinearLayout android:orientation="horizontal"...>
<FrameLayout ...>
<TabWidget
android:id="@android:id/tabs"
android:visibility="gone" .../>

<LinearLayout
android:orientation="vertical" ...>

<Button
android:id="@+id/button_map"
android:onClick="tabHandler" .../>

<Button
android:id="@+id/button_chat"
android:onClick="tabHandler" .../>

<Button
android:id="@+id/button_player_stat"
android:onClick="tabHandler" ... />

<Button
android:id="@+id/button_dest_card"
android:onClick="tabHandler" .../>
</LinearLayout>
</FrameLayout>
<FrameLayout android:id="@android:id/tabcontent" ...>

<LinearLayout
android:id="@+id/tab1"
android:orientation="vertical" ...>

<TextView
android:text="This is tab 1" .../>
</LinearLayout>

<LinearLayout
android:id="@+id/tab2"
android:orientation="vertical" ...>

<TextView
android:text="This is tab 2" ... />
</LinearLayout>
</LinearLayout>
</FrameLayout>
</LinearLayout>
</TabHost>

然后在 java 上我尝试这样做:

@Override
protected void onCreate(Bundle savedInstanceState) {
....
tabHost = (TabHost) findViewById(android.R.id.tabhost);
tabHost.setup();
}

然后是tabHandler

public void tabHandler(View target){
button_map.setSelected(false);
button_chat.setSelected(false);
if(target.getId() == R.id.button_map){
tabHost.setCurrentTab(0);
button_map.setSelected(true);
} else if(target.getId() == R.id.button_chat){
tabHost.setCurrentTab(1);
button_chat.setSelected(true);
}
}

当我尝试运行此程序时,单击“选项卡”(我的按钮)时没有任何反应。代码到达了正确的位置,但我认为 findview() 得到了错误的 tabHost。在调试器上,我看到 tabhost currentTab 设置为 -1,这就是为什么我认为它是错误的 tabhost。我还尝试将 tabhost 从“@android:id/tabhost 更改为 @+id/tabhost,但是在使用 setup() 时会引发异常,它提示它应该是 @android:id/tabhost。任何帮助将不胜感激!

最佳答案

不要在新应用中使用 TabHost 来实现选项卡。 Use a ViewPager相反。

如果符合您的用例,您还可以使用 Android 支持库中的底部导航 View 。 Here is one relevant tutorial .

关于java - Tabhost 不更新选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46898150/

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