Это сводит меня с ума, так как я делал это раньше, но не могу понять, почему это не работает сейчас...
У меня есть кнопка меню, реализованная обычным образом через файл menu.xml
и метод onOptionsItemSelected
с переключателем в нем, который создает и отображает счетчик.
Я добавил setOnItemSelectedListener
, но он никогда не срабатывает. Появляется счетчик, я выбираю вариант или отступаю, ни onItemSelected
, ни onNothingSelected
не вызываются.
Вот весь код между «case» и «return true» в операторе switch, обрабатывающем кнопку меню. (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
...
android:spinnerMode="dialog"
, и вы можете установить 0 параметров размера) и изменить = новый счетчик (это); на `= (Spinner) findViewById(R.id.dialog_spinner);` - person LadyWoodi   schedule 11.03.2016