我有一个自定义适配器来处理“信号”对象。当我自定义 TextView 并从 Spinner 的 getDropDownView 方法返回它时,它扩展了 BaseAdapter 并且工作正常。但是,除了 TextView 标签之外,我还想有一个播放/停止按钮,所以我扩展了 LinearLayout 以包含一个 TextView 和 ImageButton。当我从 getDropDownView 而不是纯 TextView 返回自定义 LinearLayout 时,它呈现正常,但 Spinner 不会识别任何“选择”事件。
当 getDropDownView 方法返回一个 TextView 时,单击 TextView 似乎会触发 Spinner 选择更改,而我没有任何编码帮助。我一直无法弄清楚 Android 正在做什么来实现这一点。我想将 Spinner 选择更改定义为单击我的 LinearLayout 中的 TextView。我该怎么做呢?所有这些都是在 Java 代码中定义和操作的,没有 xml。