0

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

4

1 回答 1

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在代码中调用以启用/禁用它们。

于 2012-06-09T20:51:36.750 回答