目前我正在为我的项目使用 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);
我的问题是。从下拉导航中选择一个选项后,如何在我的 Activity 中保持该状态?
例如,在主屏幕中,我在下拉导航栏下选择“体育”。下拉导航的标题随后变为“体育”。但是,当我更改 Activity 时,下拉导航标题默认返回到列表中的第一项。
最佳答案
我使用的一种方法是创建一个基本 Activity ,每个导航项/Activity 都从中扩展。在基础 Activity 中,我用一个 int 重载了 onResume 以跟踪哪个 Activity 处于 Activity 状态,并在该方法中设置选定的导航项。
例子:
public class BaseActivity extends FragmentActivity {
//...
protected void onResume(final int actId) {
super.onResume();
//...setup your action bar via getSupportActionBar() calls...
getSupportActionBar().setSelectedNavigationItem(actId);
}
然后在你的个人 Activity 中:
public class ExampleActivity extends BaseActivity {
private final int ACT_ID = 1;
//...
protected void onResume() {
super.onResume(ACT_ID);
//...
}
}
希望对您有所帮助!
关于android - ActionBarSherlock:更改下拉导航标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9776399/