Это сводит меня с ума, так как я уже делал это раньше, но не могу понять, почему он сейчас не работает...
У меня есть кнопка меню, реализованная обычным способом с помощью файла menu.xml
и метода onOptionsItemSelected
с помощью переключателя в нем, который создает и отображает счетчик.
Я добавил setOnItemSelectedListener
, но он никогда не срабатывает. Появится spinner, я выбираю опцию или отступаю, не вызываются onItemSelected
или onNothingSelected
.
Вот весь код между "case" и "return true" оператора switch-button-handling. (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
программно, является проблемой...