使用drag-sort-listview(DSLV)时,不会触发setOnItemLongClickListener和setOnItemClickListener

我使用了Carl Bauer(https://github.com/bauerca/drag-sort-listview)的优秀的drag-sort-listview来实现一个拖拽式启用列表视图。 但是,我的要求是不需要在列表中拖动句柄,而是允许用户使用项目本身拖动列表项目。

通过将@ id / drag属性设置为列表项本身,我已经得到了部分工作。 但是,它具有不响应itemClick和itemLongClick事件的副作用。

有没有办法让项目点击/长时间点击工作,没有一个单独的可拖动布局?

作为参考,我的代码如下所示 –

ListView.xml:

<com.mobeta.android.dslv.DragSortListView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:dslv="http://schemas.android.com/apk/res/com.myproject" android:id="@+id/list" android:layout_width="fill_parent" android:layout_height="fill_parent" dslv:collapsed_height="1dp" dslv:drag_scroll_start="0.33" dslv:max_drag_scroll_speed="0.5" /> 

ItemView.xml:

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="@dimen/list_item_height" android:orientation="horizontal"> <CheckBox android:id="@+id/check_box" android:layout_width="wrap_content" android:layout_height="fill_parent" android:gravity="center_vertical"/> <TextView android:id="@+id/drag" android:layout_width="0dp" android:layout_height="fill_parent" android:padding="@dimen/list_padding" android:gravity="center_vertical" /> </LinearLayout> 

Activity.java:

  DragSortListView listView = (DragSortListView) view.findViewById(R.id.list); listView.setOnItemLongClickListener(new OnItemLongClickListener() { @Override public boolean onItemLongClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { Toast.makeText(arg0.getContext(), ((TextView)arg1).getText(), Toast.LENGTH_SHORT).show(); return false; } }); listView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> listView, View itemView, int index, long id) { Toast.makeText(getView().getContext(), ((TextView)itemView).getText(), Toast.LENGTH_SHORT).show(); } }); 

作为奖励,如果任何人都可以帮助启用多重select除了点击/ longclick,将不胜感激。

谢谢!

Solutions Collecting From Web of "使用drag-sort-listview(DSLV)时,不会触发setOnItemLongClickListener和setOnItemClickListener"