Bauerca drag-sort-listview问题,整个列表项是句柄

时间:2014-07-18 18:52:28

标签: android-listview

我一直在使用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不会在其他任何地方使用。

这个问题的最大问题在于它无法按下或长按列表项。

1 个答案:

答案 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是我的包名,所以命名空间必须指向你自己的包名。