Как я могу добавить мой счетчик в ActionBar?
Я пытаюсь заставить свой счетчик работать как элемент выпадающего списка панели действий, но, похоже, я вообще не могу его реализовать, после поиска в Google не так много учебников по этому вопросу. Я думаю, это как-то связано с.setListNavigationCallbacks(); Строка кода, я просто не знаю, как заставить это работать с этой строки и далее.
// setup action bar for spinner
ActionBar bar = getActionBar();
bar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
bar.setListNavigationCallbacks();
Spinner spinner = (Spinner) findViewById(R.id.spinner1);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.tools_array_stopwatch, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(this);
}
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
switch (arg2) {
case 0:
break;
case 1:
Intent countdown = new Intent(this, CountdownActivity.class);
startActivity(countdown);
break;
default :
break;
}
}
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
1 ответ
Шаг № 1: Избавьтесь от своего Spinner
,
Шаг № 2: Избавьтесь от своего OnItemSelectedListener
,
Шаг № 3: Предоставьте свой ArrayAdapter
в качестве первого параметра setListNavigationCallbacks()
,
Шаг № 4: Обеспечить реализацию ActionBar.OnNavigationListener
в качестве второго параметра setListNavigationCallbacks()
,
Шаг № 5: В onNavigationItemSelected()
метод обратного вызова в вашем ActionBar.OnNavigationListener
делать то, что вы хотите сделать, основываясь на изменении состояния навигации (например, выполнить FragmentTransaction
).
Шаг № 6. Перепроектируйте свое приложение, чтобы не запускать действие на основе этого выбора навигации, как вы пытаетесь выше. Либо запустите действие с помощью кнопки панели инструментов или пункта меню параметров, либо используйте фрагменты для замены (части) пользовательского интерфейса существующего действия. Навигация по спискам и вкладкам на панели действий не предназначена для запуска действий.