Rom*_*man 41 android android-spinner android-actionbar
我正在尝试通过重新启动方向更改的活动来解决问题.
我有一个ActionBar带有下拉列表导航,每次旋转后,该列表的第一个元素被激活.保持fragment内容并不困难,但我不知道如何设置活动列表项.
这是以下定义ActionBar:
getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
ArrayAdapter<CharSequence> list = ArrayAdapter
    .createFromResource(this, R.array.action_list, android.R.layout.simple_dropdown_item_1line);
list.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
getActionBar().setListNavigationCallbacks(list, this);
这是我的解决方法:
@Override
public boolean onNavigationItemSelected(int itemPosition, long itemId) {
    if (!application.isRotated) {
        application.activePosition = itemPosition;
        application.activeId = itemId;
        getFragmentManager().beginTransaction()
            .replace(android.R.id.content, MyFragment.newInstance(itemPosition))
            .commit();
    } else {
        application.isRotated = false;
        this.onNavigationItemSelected(application.activePosition, application.activeId);            
    }
    return true;
}
@Override
protected void onStop() {
    super.onStop();
    application.isRotated = true;
}
我不确定这是最好的解决方案.
Rom*_*man 83
我刚刚找到了这个功能.是的setSelectedNavigationItem(int position).
在列表或选项卡式导航模式中设置所选导航项.
例:
actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
actionBar.setListNavigationCallbacks(adapter, this);
actionBar.setSelectedNavigationItem(position);
| 归档时间: | 
 | 
| 查看次数: | 28253 次 | 
| 最近记录: |