方法一 修改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);