Это сводит меня с ума, так как это то, что я делал раньше, но не могу понять, почему это не работает сейчас ...
У меня есть кнопка меню, реализованная обычным способом через файл menu.xml
и метод onOptionsItemSelected
с переключателем в нем, который создает и отображает счетчик.
Я добавил setOnItemSelectedListener
, но, похоже, он никогда не срабатывает. Появляется вертушка, я выбираю опцию или возвращаюсь, ни onItemSelected
, ни onNothingSelected
не вызываются.
Вот весь код между «case» и «return true» оператора переключателя обработки кнопок меню. (topThis
- это переменная, относящаяся к контексту действия - отлично работает для всех остальных тостов в приложении)
String[] widgetModes = {"Mode 1", "Mode2"};
ArrayAdapter<String> widgetModeAdapter = new ArrayAdapter<String> (this, android.R.layout.simple_spinner_item, widgetModes);
widgetModeAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
Spinner widgetModeSpinner = new Spinner(this);
widgetModeSpinner.setAdapter(widgetModeAdapter);
widgetModeSpinner.setPrompt("Choose Widget Mode");
widgetModeSpinner.setOnItemSelectedListener(new OnItemSelectedListener()
{
@Override
public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id)
{
Toast.makeText(topThis, "derp", Toast.LENGTH_LONG).show();
}
@Override
public void onNothingSelected(AdapterView<?> parentView)
{
Toast.makeText(topThis, "herf", Toast.LENGTH_LONG).show();
}
});
widgetModeSpinner.performClick();
Есть идеи? Я смутно подозреваю, что проблема в том, что я создаю Spinner
программным способом ...