Android-listview的item布局中imagebutton问题

Android-listview的item布局中imagebutton问题

泛泛之交 发布于 2017-01-04 字数 190 浏览 1080 回复 3

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

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

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

评论(3

晚风撩人 2017-08-01 3 楼

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

偏爱自由 2017-07-08 2 楼

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

清晨说ぺ晚安 2017-01-22 1 楼

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