有没有办法使用原始Android TabHost防止选项卡切换发生?
iOS中,有一个名为shouldSelectViewController的代理回调函数,如果你返回FALSE,它将防止选项卡切换。
Android具有一个onTabChanged()代理,但那似乎是一个事后通知,说明选项卡已经被更改了(它返回void)。
谢谢。
有没有办法使用原始Android TabHost防止选项卡切换发生?
iOS中,有一个名为shouldSelectViewController的代理回调函数,如果你返回FALSE,它将防止选项卡切换。
Android具有一个onTabChanged()代理,但那似乎是一个事后通知,说明选项卡已经被更改了(它返回void)。
谢谢。
for(int i=0; i<tabWidget.getTabCount(); i++) {
tabWidget.getChildAt(i).setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
int action = event.getAction();
if (action == MotionEvent.ACTION_UP) {
String currentTabTag = (String) tabHost.getCurrentTabTag();
String clickedTabTag = (String) v.getTag();
if(clickedTabTag.equals("BAD TAG")) {
return true; // Prevents from clicking
}
}
return false;
}
});
}
if (tabId.equals("Tab 1")) {
// This will switch tab 1 to tab 0 immediately so that it seems like tab 0 does not change
getTabHost().setCurrentTab(0);
}