在Android中动态修改选项卡指示器

Zel*_*luX 13 android android-tabhost

我的应用程序需要动态更新选项卡指示器,我试图通过调用TabSpec.setIndicator()来执行此操作,但它不起作用.这是我的代码:

在tabActivity的onCreate方法中:

tabHost = getTabHost(); 
TabSpec tabSpec = tabHost.newTabSpec("abc");
tabSpec.setIndicator("helloabc");
tabSpec.setContent(new MyViewFactory());
tabHost.addTab(tabSpec);
Run Code Online (Sandbox Code Playgroud)

现在我需要将tab指示符更改为另一个字符串,例如"xyz"

TabSpec tabSpec = MyTabActivity.getTabSpec();
tabSpec.setIndicator("xyz");
Run Code Online (Sandbox Code Playgroud)

但它不起作用.所以我想知道在将tab指针添加到tabhost之后如何更改它?非常感谢.

感谢@CommonsWare,我使用TabWidget.getChildAt制作它,这是我方便的代码:

TextView title = (TextView) tabHost.getTabWidget().getChildAt(tabId).findViewById(android.R.id.title)
title.setText("xyz");
Run Code Online (Sandbox Code Playgroud)

Com*_*are 13

我为之前的错误答案道歉,现已删除.

尝试使用getChildViewAt()TabWidget.


小智 7

我管理getChildTabViewAt(tabId)而不是childviewAt(id)多个标签.