2

「シグナル」オブジェクトを操作するためのカスタム アダプターがあります。BaseAdapter を拡張し、TextView をカスタマイズして Spinner の getDropDownView メソッドから返すと正常に動作します。ただし、TextView ラベルに加えて再生/停止ボタンが必要なため、LinearLayout を拡張して TextView と ImageButton を含めました。プレーンな TextView の代わりに getDropDownView からカスタム LinearLayout を返すと、正常にレンダリングされますが、スピナーは「選択」イベントを認識しません。

getDropDownView メソッドが TextView を返すと、TextView をクリックすると、コーディングの助けがなくてもスピナーの選択変更がトリガーされるように見えます。Androidがそれを実現するために何をしているのか理解できませんでした。LinearLayout 内の TextView をクリックして、Spinner の選択変更を定義したいと考えています。どうすればそれを行うことができますか?これらはすべて Java コードで定義および操作され、xml は使用されません。

4

1 に答える 1

0

あなたの質問が理解できたら、ユーザーがスピナーの項目をクリックしたときに音を鳴らしたいですか? OnItemSelectedListener() を使用します。

spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
    public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
        Log.v("Example", "Item Selected");
        // Play sound
    }

    public void onNothingSelected(AdapterView<?> arg0) {
        // Do nothing
    }
});
于 2012-06-26T19:22:51.983 に答える