为了账号安全,请及时绑定邮箱和手机立即绑定

ListView OnItemClickListener不响应?

ListView OnItemClickListener不响应?

www说 2019-10-09 15:31:53
我到处都在寻找解决方案,但是我不知道如何实现它。我的行OnItemClickListener被禁用了ListView,因为我ImageButton在行布局中接管了焦点。我发现了很多问题,但是没有一个让我到任何地方。我已经检查了这个问题,但我实在无法做到。我只需要一种使行可点击的方法,这样我就可以检测到何时按下了行。长按和聚焦效果很好。
查看完整描述

3 回答

?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

设置您ImageButton的属性:


android:focusable="false"

因为AbsListView.onTouchEvent检查child.hasFocusable()。


查看完整回答
反对 回复 2019-10-09
?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

我已经在SDK级别8和16上测试了以下解决方案。


在 getView()


setFocusable(false);

setClickable(false);

而不是在Adapter's中将它们设置为true会getView()执行我认为原始问题想要的事情,并且意味着OnItemClickListener只要OnClickListener未在中设置an,就会调用an getView()。


我假设任何事情,你可以做一个查看的OnClickListener,你可以在做很容易ListView的OnItemClickListener。(setOnClickListener在View上隐式地将视图设置为可点击的,这显然防止了ListView的相应视图被OnItemClickListener调用。)


ImageButton就按下或翻转项目时的视觉状态而言,行为是人们所期望的。


解决方案是一个小小的错觉,因为列表项被按下的不是其ImageButton本身,因此,如果按钮没有占据整个列表项,则单击该项目的其他位置仍将使按钮的可绘制状态反映该单击。焦点相同。那可能是值得付出的代价。


查看完整回答
反对 回复 2019-10-09
  • 3 回答
  • 0 关注
  • 538 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信