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

Vij*_*jay 6 android

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

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

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

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

小智 7

除非您能找到更干净的方法,否则您可以访问TabWidget自己.包含在TabWidget每个选项卡的相对布局中,每个选项卡包含一个ImageView和一个TextView.要在索引0处的选项卡中直接访问textview,您可以执行以下操作:

mTabHost.getTabWidget().getChildAt(0).findViewById(android.R.id.title);
Run Code Online (Sandbox Code Playgroud)

然后只是演员阵容TextView,你可以根据需要编辑它.以下对我有用:

((TextView)mTabHost.getTabWidget().getChildAt(0).findViewById(android.R.id.title)).setText("New");
Run Code Online (Sandbox Code Playgroud)


Com*_*are 3

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