ListView OnItemClickListener不响应?

我到处都在寻找解决方案,但是我不知道如何实现它。我的行OnItemClickListener被禁用了ListView,因为我ImageButton在行布局中接管了焦点。我发现了很多问题,但是没有一个让我到任何地方。


我已经检查了这个问题,但我实在无法做到。我只需要一种使行可点击的方法,这样我就可以检测到何时按下了行。长按和聚焦效果很好。


www说
浏览 539回答 3
3回答

有只小跳蛙

设置您ImageButton的属性:android:focusable="false"因为AbsListView.onTouchEvent检查child.hasFocusable()。

慕桂英3389331

我已经在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本身,因此,如果按钮没有占据整个列表项,则单击该项目的其他位置仍将使按钮的可绘制状态反映该单击。焦点相同。那可能是值得付出的代价。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java
Android