android - Button设置了focusable="false",还怎么监听到事件?
本文介绍了android - Button设置了focusable="false",还怎么监听到事件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
由于使用了onItemClickListener,存在Button的时候ListView不能监听到点击事件,所以对Button做了如下处理
android:focusable="false"
android:focusableInTouchMode="true"
对Button的父类容器做这样的处理
android:descendantFocusability="blocksDescendants"
之前的ListView监听问题解决了
但是,不知道后续应该怎么做了,我想在button上也添加事件,但是我理解的状态是:目前不能添加事件了,我理解的对不对,请各位大神指教
解决方案
你的理解不对.
ListView
的ItemView
如果使用了任何focusable的View, 那么ItemView的点击事件就会被该类View给拦截了. 解决这个问题只需要给layout-xml中的RootView设置如下属性即可解决上述问题:
android:descendantFocusability="blocksDescendants"
如果还想给ItemView
的ChildView
设置OnClickListener
, 那就直接调用View.setOnClickListener(OnClickListener)
就好了.
这篇关于android - Button设置了focusable="false",还怎么监听到事件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文