我通过 ActionBar NavigationMode (DROP_DOWN_LIST) 为 Android 3+ 设备实现了视图导航。
getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
SpinnerAdapter mSpinnerAdapter = ArrayAdapter.createFromResource(this, R.array.action_list, android.R.layout.simple_spinner_dropdown_item);
getActionBar().setListNavigationCallbacks(mSpinnerAdapter, new OnNavigationListener() {
@Override
public boolean onNavigationItemSelected(int index, long arg1) {
if(index == 0)
selectHomeView();
else
selectMainView();
return true;
}
});
这可以按预期工作,但是在方向更改时,会再次调用 onNavigationItemSelected 并使用 index = 0,将我的 Activity 返回到第一个视图。
我怎样才能保持这种状态?并且不要让 onNavigationItem 被索引为 0 的 onCreate 调用?
编辑:
在基里尔回答之后,可以存储当前的 inedx,但是有第三个视图不能通过 NavigationList 选择,如果我在 onCreate 之后不调用 setNavigationItemSelected,它将自动触发 index = 0,将应用程序返回到第一个看法。
这是我的问题。