Titus
Titus

Reputation: 187

How to change the icon of tab host once setup? (Android)

I am trying to change the Icon of one of the tabs of tab host at run time. I am not able to figure out hwo to do with the widget. could some one let me know how its done ?

 spec = tabHost.newTabSpec("hello").setIndicator("hello",
       res.getDrawable(R.drawable.tab1)).setContent(intent);
 tabHost.addTab(spec)

The xml file is as below selector xmlns:android="http://schemas.android.com/apk/res/android" -- When selected, use grey -- item android:drawable="@drawable/icon1" android:state_selected="true" /> -- When not selected, use white- item android:drawable="@drawable/icon1" /selector

Thanks , Titus

Upvotes: 3

Views: 1683

Answers (1)

theczechsensation
theczechsensation

Reputation: 4275

Here is how to change the icon after the TabHost (tab child) was created. This solution is not using the XML selector, this code will change the icon permanently.

View ic = (View) tabHost.getTabWidget().getChildTabViewAt(0).findViewById(android.R.id.icon);
ic.setBackgroundResource(R.drawable.icon_public);

This example will change the icon of first tab.

Upvotes: 1

Related Questions