目前我正在为我的项目使用ActionBarSherlock。我正在使用此代码创建我的操作栏。
setTheme(R.style.Theme_Sherlock);
Context context = getSupportActionBar().getThemedContext();
list = ArrayAdapter.createFromResource(context, R.array.locations, R.layout.sherlock_spinner_item);
list.setDropDownViewResource(R.layout.sherlock_spinner_dropdown_item);
getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
getSupportActionBar().setListNavigationCallbacks(list, this);
我的问题是。从下拉导航中选择一个选项后,如何在整个活动中保持该状态?
例如,在主屏幕中,我在下拉导航栏中选择“体育”。下拉导航的标题然后变为“体育”。但是,当我更改活动时,下拉导航标题会默认返回列表中的第一个项目。
答案 0 :(得分:7)
我使用的一种方法是创建每个导航项/活动扩展的基本活动。在基本活动中,我使用int重载onResume以跟踪哪个活动处于活动状态,并在该方法中设置选定的导航项。
示例:
public class BaseActivity extends FragmentActivity {
//...
protected void onResume(final int actId) {
super.onResume();
//...setup your action bar via getSupportActionBar() calls...
getSupportActionBar().setSelectedNavigationItem(actId);
}
然后在您的个人活动中:
public class ExampleActivity extends BaseActivity {
private final int ACT_ID = 1;
//...
protected void onResume() {
super.onResume(ACT_ID);
//...
}
}
希望有所帮助!