ActionBarSherlock: изменить заголовок выпадающего меню - PullRequest
2 голосов
/ 19 марта 2012

В настоящее время я использую 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);

У меня вопрос.После выбора параметра в раскрывающемся меню «Как сохранить это состояние на протяжении всей моей деятельности?»

Например, на главном экране я выбираю «Спорт» в раскрывающемся меню.Заголовок раскрывающейся навигации становится «Спорт».Однако, когда я изменяю активность, заголовок раскрывающегося меню по умолчанию возвращается к первому элементу в списке.

1 Ответ

7 голосов
/ 20 марта 2012

Один из методов, который я использовал, заключался в создании базового действия, из которого был расширен каждый элемент навигации / действие.В рамках базового действия я перегрузил onResume с помощью int для отслеживания того, какое действие было активным, и установил выбранный элемент навигации в этом методе.

Пример:

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);

        //...
    }
}

Надеюсь, это поможет!

...