我一直在使用Bauerca的drag-sort-listview,它很容易设置和使用,但我遇到的问题是整个列表项都是句柄而不仅仅是我设置为手柄的drawable。这是适当的XML:
<com.mobeta.android.dslv.DragSortListView
xmlns:dslv="http://schemas.android.com/apk**/res-auto"
android:id="@+id/paletteView"
android:layout_width="match_parent"
android:layout_height="match_parent"
dslv:drag_handle_id="@id/dragHandle"
dslv:sort_enabled="true"
dslv:remove_enabled="false"
dslv:drag_start_mode="onDrag" />
这里是列表项布局的XML:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- Color View has to be set to specific width/height or else it won't show at all -->
<TextView
android:id="@+id/paletteItemText"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_toLeftOf="@id/dragHandle"
android:textAlignment="center"
android:textAppearance="?android:attr/textAppearanceListItemSmall"
android:paddingStart="?android:attr/listPreferredItemPaddingStart"
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
android:minHeight="?android:attr/listPreferredItemHeightSmall" />
<View
android:id="@+id/colorView"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignParentLeft="true"
android:layout_toLeftOf="@id/paletteItemText" />
<ImageView
android:id="@id/dragHandle"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:src="@drawable/drag_handle" />
请注意,ImageVIew的id为dragHandle,由drag-sort-listview使用,该id不会在其他任何地方使用。
这个问题的最大问题在于它无法按下或长按列表项。
答案 0 :(得分:3)
AHAH !!!我想通了,所以问题实际上非常简单,在XML中我有这个:xmlns:dslv =“http://schemas.android.com/apk**/res-auto” 应该是这样的:xmlns:dslv =“http://schemas.android.com/apk/res/com.torygaurnier.openpalette”
我是android开发的新手,所以我没有意识到这一点,com.torygaurnier.openpalette是我的包名,所以命名空间必须指向你自己的包名。