タブレットがサーバーに接続されていない限り、タブを変更することができません。すべて同じ Java ファイルから実行されるタブ ホストがあります。私がする必要があるのは、ブール値が真でない限り、コードがタブを変更しないようにするために、ファイルに何らかのテストを行うことだけだと思います。しかし、私はこれを行う方法がわかりませんか?私のコードを表示する必要がある場合は、コメント ボックスに残してください。ご助力いただきありがとうございます !
質問する
66 次
1 に答える
1
次のように呼び出して、タブのクリックを無効/有効にすることができると思います。
myTabHost.getTabWidget().setClickable(isConnectedToServer);
しかし、それが良いUXかどうかはわかりません。ユーザーがタブを変更できるようにするのはどうですか。コンテンツにアクセスできない場合は、タブのメインビュー内に「サーバーに到達できません。インターネット接続を確認してください」などのメッセージが表示されます。 .
更新:代わりにこれを試してください(タブごとに):
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 に答える