我有一个ExpandableListView
我正在使用SwipeDetector
来了解此列表中的某一行是否被刷过。
此dectetor的实现来自this post。
一切正常。
然后,我在每一行都添加了Button
,我希望能够知道:
这是用于列表中每个(标题除外)行的布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:background="#fff"
android:layout_height="wrap_content" >
<Button
android:text="Button"
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</RelativeLayout>
现在,问题是不再检测到滑动手势,因为Button
捕获了该事件。由于他们有很多关于这个主题的线索,我尝试了几件事,但没有任何作用(至少我没有设法让它工作)。以下是我尝试过的不同内容:
android:focusable
false
媒体资源设为Button
android:descendantFocusability
blocksDescendants
媒体资源设为RelativeLayout
onInterceptTouchEvent
最后一点:
SwipeDetector
上设置Button
而不是ListView
项,因为在某些情况下不会有按钮(或许多按钮) )。android:clickable="false"
上使用Button
,因为我需要实施onClick
方法。