Tôi có một hoạt động có một TabHost chứa một tập hợp các TabSpecs với một listview chứa các mục được hiển thị bởi tab. Khi mỗi TabSpec được tạo, tôi đặt một biểu tượng được hiển thị trong tiêu đề tab.Cập nhật các biểu tượng Tab Android
Các TabSpecs được tạo ra theo cách này trong vòng một phương pháp setupTabs()
mà vòng để tạo ra số lượng thích hợp của các tab:
TabSpec ts = mTabs.newTabSpec("tab");
ts.setIndicator("TabTitle", iconResource);
ts.setContent(new TabHost.TabContentFactory(
{
public View createTabContent(String tag)
{
...
}
});
mTabs.addTab(ts);
Có một vài trường hợp mà tôi muốn để có thể thay đổi biểu tượng được hiển thị trong mỗi tab trong quá trình thực hiện chương trình của tôi. Hiện tại tôi đang xóa tất cả các tab và gọi lại mã ở trên để tạo lại chúng.
mTabs.getTabWidget().removeAllViews();
mTabs.clearAllTabs(true);
setupTabs();
Có cách nào để thay thế biểu tượng đang được hiển thị mà không xóa và tạo lại tất cả các tab không?
nhỏ cải thiện - sử dụng: TabWidget.getChildTabViewAt (..) thay vì getChildAt (...) – tonys