如何在自定义Spinner DropDownView中指定选择事件?

时间:2012-06-26 18:56:35

标签: android spinner android-spinner

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

当getDropDownView方法返回TextView时,单击TextView会触发Spinner选择更改而不需要任何编码帮助。我无法弄清楚Android正在采取什么措施来实现这一目标。我想在我的LinearLayout中单击TextView时定义一个Spinner选择更改。我怎么能这样做呢?所有这些都是在Java代码中定义和操作的,没有xml。

1 个答案:

答案 0 :(得分: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
    }
});