我正在使用tabhost选项卡。我有4个选项卡,我希望用户只能查看第一个选项卡的内容。如果他点击任何其他选项卡,那么我应该显示msg并返回第一个标签。 我怎样才能做到这一点?
我尝试通过创建onTabChanged侦听器并在此方法中执行此操作
if( th.getCurrentTab()!=0){
th.getTabWidget().setCurrentTab(0);
alert("my msg");
return;
}
但问题是,一旦我返回th.getCurrentTab返回1或2(无论用户点击了什么),它似乎无法正常工作。 任何其他想法或方法来解决这个问题?
由于
答案 0 :(得分:0)
假设您想让用户坚持使用的标签的ID是固定的并且是第一个,您不需要执行if( th.getCurrentTab()!=0) {
检查,只需使用setCurrentTab
语句。您不需要检查用户所在的选项卡,因为您知道您希望它们位于第一个选项卡上。并且它不会启动无限循环,因为单击或将当前选项卡设置为同一选项卡不会触发onTabChanged
事件。
使用这样的东西应该按预期工作:
public void onTabChanged(final String tabId) {
th.getTabWidget().setCurrentTab(0);
alert("my msg");
return;
}
答案 1 :(得分:0)
我找到了。显然我应该使用th.setCurrentTab(0)而不是th.getTabWidget()。setCurrentTab(0)