SwipeRefreshLayout中的ListView无法处理onItemLongClick事件

时间:2015-02-24 16:02:27

标签: android listview swiperefreshlayout

我的问题非常简单。我在SwipeRefreshLayout中有一个ListView,我想处理ListView的onItemLongClick事件。但它不会认识到它被长时间点击,我想知道出了什么问题?

这是我的XML:

 <android.support.v4.widget.SwipeRefreshLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/swipeContainer"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:hapticFeedbackEnabled="true"
    android:longClickable="true" >

    <ListView
        android:id="@+id/list_timeline"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:cacheColorHint="@android:color/transparent"
        android:divider="@null"
        android:hapticFeedbackEnabled="true"
        android:listSelector="@android:color/transparent"
        android:longClickable="true"
        android:scrollbarStyle="outsideOverlay"
        android:soundEffectsEnabled="true" >
    </ListView>
</android.support.v4.widget.SwipeRefreshLayout>

这是我的java文件

listview.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {

  public boolean onItemLongClick(AdapterView<?> arg0, View arg1, int pos, long id) {
    Log.v(TAG, "Content Clicked!");
    postContentToWall(m1Result.get(pos));
    return true;
  }

});

1 个答案:

答案 0 :(得分:0)

伙计们我解决了这个问题,这是因为在适配器里面有一个view.onClickListener。所以我做的是删除我的view.onClick并将其替换为listview.onClickListener,以便进行两个事件处理操作(onItemClick和onItemLongClick)。谢谢:))