Android-listview的item布局中imagebutton问题

发布于 2017-01-04 09:05:34 字数 135 浏览 1156 评论 3

在listview的item中用imagebutton导致列表不可点击,imagebutton可点击,然后把imagebutton换成imageview后列表就可以点击了,这是什么问题?怎样实现能使listview列表可点而且imagebutton也可点?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

晚风撩人 2017-08-01 21:48:52

确实是imagebutton把事件捕获了
解决方法有好几个
1.该imagebutton的focusable设置为false
2.在这个list的根属性里面设置descendantFocusability属性为blocksDescendants

偏爱自由 2017-07-08 10:37:37

是因为点击事件被imageButton捕获了,所以item就接收不了

清晨说ぺ晚安 2017-01-22 19:46:32

(1)主要是ViewGroup如何吃input event的问题。

(2)你可以为整个listItem去实现public boolean dispatchTouchEvent (MotionEvent ev)方法,也可以为item里面的组件分别去实现abstract boolean onTouch(View v, MotionEvent event)的方法。关键在于你要根据自己需要的逻辑去处理onTouch的返回值:“True if the listener has consumed the event, false otherwise.”

(3)如果你想要ImageButton获得响应就应该让它的父层(即LinearLayout)返回false,不过Android的默认是返回flase的,所有你才会看到ImageButton获取了事件而Item无法获取。同理,那么如果反过来,你应该知道怎么处理吧。

(4)另外需要介绍一个属性:duplicateParentState(When this attribute is set to true, the view gets its drawable state (focused, pressed, etc.) from its direct parent rather than from itself.)

(5)所以综合上面的知识点,根据你的需要,处理下之间的逻辑应该就好了,希望对你有帮助。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文