1. ホーム
  2. android

[解決済み] アンドロイドスピナー 選択されたアイテムの変更イベントを取得

2022-02-07 18:24:13

質問

スピナーの選択項目が変更されたときのイベントリスナーを設定するには?

基本的に私がやろうとしていることは、これに近いものです。

spinner1.onSelectionChange = handleSelectionChange;

void handleSelectionChange(Object sender){
    //handle event
}

解決方法は?

これまでの回答には、正しくないものがあります。これらは他のウィジェットやビューでは動作しますが スピナーウィジェット と明記されています。

スピナーはアイテムのクリックに対応していません のイベントを開催しています。このメソッドを呼び出すと は例外です。

より良い利用 OnItemSelectedListener() ではなく

spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
    @Override
    public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
        // your code here
    }

    @Override
    public void onNothingSelected(AdapterView<?> parentView) {
        // your code here
    }

});

これは私にとって有効な手段です。

onItemSelected メソッドは、ビューの構築時にも呼び出されることに注意してください。 onCreate() メソッドを呼び出します。