如何动态更改选项卡的标题

时间:2010-02-18 19:33:57

标签: android

我的应用程序中有三个选项卡。在一个选项卡下的事件中,我想更改另一个现有选项卡的标题。这是我们在向TabHost添加选项卡时提供的标题。

例如:TabHost.addTab(tabHost.newTabSpec(“Tab2”))。setIndicator(“我需要动态更改”).setContent ....

在上面的例子中,我在setIndicator()下提供的tab2的标题应该动态更改。

有没有办法实现这一目标。

3 个答案:

答案 0 :(得分:7)

除非您能找到更干净的方法,否则您可以访问TabWidget本身。 TabWidget中包含的是每个标签的相对布局,每个标签都包含ImageViewTextView。要在索引0处的选项卡中直接访问textview,您可以执行以下操作:

mTabHost.getTabWidget().getChildAt(0).findViewById(android.R.id.title);

然后只是投射为TextView,您可以根据需要进行编辑。以下对我有用:

((TextView)mTabHost.getTabWidget().getChildAt(0).findViewById(android.R.id.title)).setText("New");

答案 1 :(得分:3)

不要将指标设置为String,而是使用您设置View的地方。然后,您可以保留View(例如,TextView)并根据需要更改其内容。

答案 2 :(得分:0)

您不应再对ICS使用“TabHost”,它已在版本13中弃用,而您需要“ActionBar”......

Tab mTab = super.getSupportActionBar().getTabAt(0); 
mTab.setText("new Title");

Android会立即刷新标签

相关问题