2

我有一个自定义适配器来处理“信号”对象。当我自定义 TextView 并从 Spinner 的 getDropDownView 方法返回它时,它扩展了 BaseAdapter 并且工作正常。但是,除了 TextView 标签之外,我还想有一个播放/停止按钮,所以我扩展了 LinearLayout 以包含一个 TextView 和 ImageButton。当我从 getDropDownView 而不是纯 TextView 返回自定义 LinearLayout 时,它呈现正常,但 Spinner 不会识别任何“选择”事件。

当 getDropDownView 方法返回一个 TextView 时,单击 TextView 似乎会触发 Spinner 选择更改,而我没有任何编码帮助。我一直无法弄清楚 Android 正在做什么来实现这一点。我想将 Spinner 选择更改定义为单击我的 LinearLayout 中的 TextView。我该怎么做呢?所有这些都是在 Java 代码中定义和操作的,没有 xml。

4

1 回答 1

0

如果我理解您的问题,您想在用户单击 Spinner 中的项目时播放声音吗?我会使用 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 回答