gpt4 book ai didi

android - 通过方向更改保持选定的 NavigationItem

转载 作者:太空狗 更新时间:2023-10-29 14:23:18 25 4
gpt4 key购买 nike

我通过 ActionBar NavigationMode (DROP_DOWN_LIST) 为 Android 3+ 设备实现了 View 导航。

      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 再次调用,索引 = 0,将我的 Activity 返回到第一个 View 。

如何保持这种状态?并且不要让 onNavigationItem 使用索引 0 调用 onCreate?

编辑:

根据 Kirill 的回答,可以存储当前的 inedx,但是还有第三个 View 无法通过 NavigationList 选择,如果我在 onCreate 之后不调用 setNavigationItemSelected,这将自动触发并返回应用程序到第一个 View 。

这是我的问题。

最佳答案

您可以扩展以下函数,该函数将在 Activity 状态可能丢失时执行,

@Override    
protected void onSaveInstanceState(Bundle savedInstanceState) {
super.onSaveInstanceState(savedInstanceState);
// Save the state of the drop down menu
savedInstanceState.putInt("selectedIndex",mDropMenu.getSelectedIndex());
}

@Override
protected void onRestoreInstanceState(Bundle savedInstanceState)
super.onRestoreInstanceState(savedInstanceState);
// Restore the state of the drop down menu
mDropMenu.setSelectedIndex(savedInstanceState.getInt("selectedIndex"));
}

请注意 mDropMenu 应该替换为您的对象,并且您应该在其上使用适当的方法

关于android - 通过方向更改保持选定的 NavigationItem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14736871/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com