私は、昔ながらのメニューとともに、アプリのタブを備えたActionBarを使用しています。メニュー項目に関連付けられているフラグメントに入るとき、ActionBarを表示したままにしておきたいのですが、すべてのタブの選択を解除します。
私は試した:
_actionBar.selectTab(null);
しかし、それは例外をスローします。
PS違いが生じる場合は、互換性のために実際にActionBarSherlockを使用しています。
私は、昔ながらのメニューとともに、アプリのタブを備えたActionBarを使用しています。メニュー項目に関連付けられているフラグメントに入るとき、ActionBarを表示したままにしておきたいのですが、すべてのタブの選択を解除します。
私は試した:
_actionBar.selectTab(null);
しかし、それは例外をスローします。
PS違いが生じる場合は、互換性のために実際にActionBarSherlockを使用しています。
それからそれをキャッチ:)
これをテストしたところ、動作します。タブの下の青い下線が消えます。これはまさに私がやりたいことです。
try {
ActionBar actionbar = (ActionBar) getActionBar();
actionbar.selectTab(null);
} catch (Exception e) {}
プログラムの流れは続きます....それは回避策です。
アクションバーのすべてのタブの選択を解除する方法
あなたはそうしない。タブは常に選択されています。
タブの選択を解除できませんでした。どうなると思いますか? いずれかのタブを常に選択する必要があります。
ユーザーのことを考えてください。彼らはその行動を期待しません。
私は今ネクロマンシングをしていることを知っています...しかし、うまくいく解決策を見つけました。したがって、他の誰かがこれをやろうとしている場合に備えて、どうぞ。
ダミーのタブを作成するだけで、アクション バーには追加しません。ダミーのタブを選択すると、アクション バーのタブはすべて選択されません。onTabSelected
のetc メソッドをデバッグすると、ダミーのインデックスは -1になりActionBar.TabListener
ます。
注: これはActionBar.TabListener
、Activity
.
String tabTitles[] = {"A", "B"};
ActionBar actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
for (String tabName : tabTitles) {
actionBar.addTab(actionBar.newTab().setText(tabName).setTabListener(this), false);
}
ActionBar.Tab dummyTab = actionBar.newTab().setText("Dummy").setTabListener(this);
try{
actionBar.selectTab(dummnyTab);
}catch(Exception e){}
私にぴったりです。