【发布时间】:2013-03-07 12:54:09
【问题描述】:
我有一个扩展 ArrayAdapter 的课程 (A_Main.java)。我将ListView 设置为使用A_Main,因为它是ListAdapter。在A_Main.getView() 内部,我膨胀视图以获取每行的ListView 小部件。每行包含一个TextView、CheckBox 和一个ImageButton。单击ImageButton 时,我播放与TextView 关联的歌曲。我不想在ListView 上使用onItemClickListener(),因为摸索滚动并开始播放新歌太容易了。
当我单击新行中的ImageButton 时,我需要取消选中当前播放歌曲的ImageButton,然后选中新歌曲。我在想这样做的方法是在 ImageButton 的onClickListener() 中膨胀视图并取消列表中的每个按钮,然后,hi-lite 正在播放的那个。我不确定解决这个问题的最佳方法。我可以在每个ImageButton ID 的A_Main 中保留一个成员列表,因为 getView() 遍历它们并直接从onClickListener() 引用 ID 而不会导致内存泄漏?这些 ID 会在 getView() 处理完后立即消失吗?对替代方法有什么想法吗?
【问题讨论】:
-
采用可绘制选择器怎么样..?
-
选择器不会保持状态。它仅对单击/触摸时的按钮动画有用。除非有别的办法?