阻止标签更改

时间:2012-06-09 18:51:26

标签: android tabs

除非平板电脑连接到服务器,否则我需要更改标签。我有一个标签主机,它都运行在同一个java文件中。我认为我需要做的就是在文件中进行某种测试,除非boolean为true,否则不要让代码更改选项卡。但是我不知道该怎么做?如果您需要查看我的任何代码,请将其留在评论框中。谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

我想您可以尝试通过调用

来禁用/启用标签上的点击次数
myTabHost.getTabWidget().setClickable(isConnectedToServer);

但是我不确定这是一个好的用户体验,如何让用户更改标签,但是如果无法访问内容,则在“服务器无法访问”选项卡的主视图中显示一条消息,请检查您的互联网连接或类似的东西。

更新: 请尝试使用此选项(对于每个标签):

myTabHost.getTabWidget().getChildTabViewAt(0).setEnabled(false);
myTabHost.getTabWidget().getChildTabViewAt(1).setEnabled(false);
myTabHost.getTabWidget().getChildTabViewAt(2).setEnabled(false);

另一个更新:

public class MyActivity extends Activity {
    private TabWidget mTabWidget = null;
    protected void onCreate(Bundle savedInstanceState) {
    ...
    mTabWidget = myTabHost.getTabWidget();
    ...
}

protected void refreshTabs(boolean isConnected) {
    mTabWidget.getChildTabViewAt(0).setEnabled(isConnected);
    mTabWidget.getChildTabViewAt(1).setEnabled(isConnected);
    mTabWidget.getChildTabViewAt(2).setEnabled(isConnected);
}

现在,您可以随时在代码中调用refreshTabs来启用/禁用它们。