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