解決Tabhost.setCurrentTab()不起作用的方法
阿新 • • 發佈:2018-12-21
方法一 修改TabWidget 的 mSelectedTab欄位
try
{
Class<TabWidget> tabWidgetClass = (Class<TabWidget>) mTabhost.getTabWidget().getClass();
Field mCurrentTab = tabWidgetClass
.getDeclaredField("mSelectedTab");
mCurrentTab.setAccessible (true);
mCurrentTab.setInt(tabWidgetClass, -2);
}
catch (Exception e)
{
e.printStackTrace();
}
方法二 修改tabhost的mCurrentTab
try {
Field idcurrent = mTabhost.getClass()
.getDeclaredField("mCurrentTab" );
idcurrent.setAccessible(true);
idcurrent.setInt(mTabhost, -2);
} catch (Exception e) {
e.printStackTrace();
}
都要在addTab之前採用反射區修改欄位的值,mTabhost.setCurrentTab(position);