SwipeRefreshLayout 内的 ListView 无法处理 onItemLongClick 事件
ListView inside SwipeRefreshLayout can't handle onItemLongClick event
我的问题很简单。我在 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;
}
});
伙计们,我解决了这个问题,那是因为适配器内部有一个 view.onClickListener。所以我所做的是,删除我的 view.onClick 并将其替换为列表 view.onClickListener 因此有两个事件处理操作(onItemClick 和 onItemLongClick)。谢谢:)
我的问题很简单。我在 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;
}
});
伙计们,我解决了这个问题,那是因为适配器内部有一个 view.onClickListener。所以我所做的是,删除我的 view.onClick 并将其替换为列表 view.onClickListener 因此有两个事件处理操作(onItemClick 和 onItemLongClick)。谢谢:)