私は、デフォルトではスピナーで選択する必要があります項目のインデックスを設定しようとしているが、0(第1項目)には、常にデフォルトアクションバーのドロップダウンスピナー項目のデフォルト
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
SpinnerAdapter spinnerAdapter =
new ArrayAdapter<String>(activity, android.R.layout.simple_spinner_dropdown_item,
names);
int selectedIndex = actionBar.getSelectedNavigationIndex();
if (selectedIndex != targetIndex) {
actionBar.setSelectedNavigationItem(targetIndex);
}
上記の場合、ブロックは常に呼び出されます。インデックス2を設定しても、次にチェックすると0が返されます。
編集:私はgetSelectedNavigationIndexがSpinnerドロップダウンアイテムではなく、actionBarアイテムのインデックスを与えると考えます。その場合、ドロップダウン内で選択した項目のインデックスをどのように設定するのですか?
あなたは単にその方法をテストしようとしましたか?たとえば、3つの要素を持つスピナーを作成し、条件を使用せずに2番目の要素をアクティブにします。それは私のためにうまく動作します。 [私の例](http://stackoverflow.com/questions/9039045/how-to-set-active-item-in-the-action-bar-drop-down-navigation/9046460#comment11641511_9046460)を見てください。 – Roman
また、navigationIndexを取得/設定する前にアダプタを設定してください。つまり、actionBar.setListNavigationCallbacks(adapter、this); – brk3