ActionBarSherlock:更改下拉导航标题

Ale*_*euk 2 android actionbarsherlock android-actionbar

目前我正在为我的项目使用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);
Run Code Online (Sandbox Code Playgroud)

我的问题是.从下拉导航中选择一个选项后,如何在整个活动中保持该状态?

例如,在主屏幕中,我在下拉导航栏中选择"体育".下拉导航的标题然后变为"体育".但是,当我更改活动时,下拉导航标题会默认返回列表中的第一个项目.

Prp*_*gby 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);
}
Run Code Online (Sandbox Code Playgroud)

然后在你的个人活动中:

public class ExampleActivity extends BaseActivity {
    private final int ACT_ID = 1;

    //...

    protected void onResume() {
        super.onResume(ACT_ID);

        //...
    }
}
Run Code Online (Sandbox Code Playgroud)

希望有所帮助!