如何检测滑动手势和按钮单击ListView

时间:2014-08-08 10:03:54

标签: android android-listview android-event

我有一个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
  • 关注this post并覆盖onInterceptTouchEvent

最后一点:

  • 我无法直接在SwipeDetector上设置Button而不是ListView项,因为在某些情况下不会有按钮(或许多按钮) )。
  • 我无法在android:clickable="false"上使用Button,因为我需要实施onClick方法。

0 个答案:

没有答案