私は AndroidSpinner
を使用しており、ユーザーがポップアップ ダイアログから何かを選択したときにコールバックを取得したいと考えています。使用するのに適切な方法のようですsetOnItemClickListener()
がsetOnItemSelectedListener()
、スピナーで項目の 1 つを選択すると、どちらも呼び出されません。
これを行う正しい方法はありますか?
アップデート
コモンズウェアの提案に従って、私は次のことを行いましたが、私のonItemSelected()
メソッドは決して呼び出されません:
final Spinner spinner = (Spinner) findViewById(R.id.spinner);
spinner.setAdapter( new ArrayAdapter<SettingValue>(getContext(), android.R.layout.simple_list_item_1, android.R.id.text1, setting.getSettingValues() ) );
spinner.setOnItemSelectedListener( new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
Log.d("BOOGA");
final SettingValue settingValue = (SettingValue)parent.getSelectedItem();
final Editor edit = getContext().getSharedPreferences( PREFS_CONTEXT_NAME, Context.MODE_PRIVATE).edit();
edit.putString(setting.name(), settingValue.name());
edit.commit();
}
public void onNothingSelected(AdapterView<?> parent) {
// do nothing
}
});