我创建了一个自定义列表视图,每行都有自己的自定义选择器,包含各种misc。元素和1相对布局与它自己的选择器。 (我正在使用相对布局,因为图像按钮对我来说不够功能。)
列表元素具有不同的状态,在某些情况下,整个项目是可点击的按钮,而在其他项目中,项目不应该是可点击的,只有相对布局(为简单起见,进一步称为按钮)。
经过大量的摆弄,我决定通过为不可点击的行设置静态背景(从选择器可绘制的正常状态)和可点击的行的选择器本身来解决这个问题。 (如果你有更好的解决方案,请随时纠正我,这不是问题的重点,但我欢迎任何帮助)
问题是,即使行本身不改变背景,也会触发按钮的选择器。我测试了它,当行有选择器作为它的背景时也会发生同样的情况。
我的问题是为什么列表项单击会触发两个选择器,当我明确单击该项时,单击该按钮时,不会触发行选择器。
另外我应该提一下,在我的行布局中,按钮位于项目选择器上方(或由其包含)。
答案 0 :(得分:0)
所以我无法为此找到合适的解决方案,而且我稍微解决了一下。
似乎正在发生的事情是,onItemClick事件在自定义布局中触发所有选择器,这是相当不方便所以我跳过它,并在我的每个视图上onClickListener上实现,以保存元素的位置单击后,我将每个元素中的一个视图设置为数组中的相应位置作为标记。下次我进一步点击相应活动中的自定义方法(我为一个适配器进行5次活动)我只需检查一个活动参数我们所在的实例,转换活动变量,然后调用方法。如果您有任何更好的解决方案,请随时告诉我。