Java ListFragment类中的DragSortListView库和DropListener

Java ListFragment类中的DragSortListView库和DropListener,java,android,android-listview,android-listfragment,Java,Android,Android Listview,Android Listfragment,我目前正在尝试将DSLV库实现到我的ListFragment类中,我得到了错误 04-28 17:43:13.876: E/AndroidRuntime(17113): FATAL EXCEPTION: main 04-28 17:43:13.876: E/AndroidRuntime(17113): java.lang.NoClassDefFoundError: com.main.tab.FavoritesTab$1 04-28 17:43:13.876: E/AndroidR

我目前正在尝试将DSLV库实现到我的ListFragment类中,我得到了错误

04-28 17:43:13.876: E/AndroidRuntime(17113): FATAL EXCEPTION: main
04-28 17:43:13.876: E/AndroidRuntime(17113): java.lang.NoClassDefFoundError:         com.main.tab.FavoritesTab$1
04-28 17:43:13.876: E/AndroidRuntime(17113):    at com.main.tab.FavoritesTab.<init>(FavoritesTab.java:43)
04-28 17:43:13.876: E/AndroidRuntime(17113):    at com.main.transit.MainActivity.onCreate(MainActivity.java:85)
04-28 17:43:13.876: E/AndroidRuntime(17113):    at android.app.Activity.performCreate(Activity.java:5104)
04-28 17:43:13.876: E/AndroidRuntime(17113):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
04-28 17:43:13.876: E/AndroidRuntime(17113):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2261)
04-28 17:43:13.876: E/AndroidRuntime(17113):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2357)
04-28 17:43:13.876: E/AndroidRuntime(17113):    at android.app.ActivityThread.access$600(ActivityThread.java:153)
04-28 17:43:13.876: E/AndroidRuntime(17113):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1247)
04-28 17:43:13.876: E/AndroidRuntime(17113):    at android.os.Handler.dispatchMessage(Handler.java:99)
04-28 17:43:13.876: E/AndroidRuntime(17113):    at android.os.Looper.loop(Looper.java:137)
04-28 17:43:13.876: E/AndroidRuntime(17113):    at android.app.ActivityThread.main(ActivityThread.java:5226)
04-28 17:43:13.876: E/AndroidRuntime(17113):    at java.lang.reflect.Method.invokeNative(Native Method)
04-28 17:43:13.876: E/AndroidRuntime(17113):    at java.lang.reflect.Method.invoke(Method.java:511)
04-28 17:43:13.876: E/AndroidRuntime(17113):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795)
04-28 17:43:13.876: E/AndroidRuntime(17113):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562)
04-28 17:43:13.876: E/AndroidRuntime(17113):    at dalvik.system.NativeStart.main(Native Method)
04-28 21:19:34.786: E/AndroidRuntime(32514): FATAL EXCEPTION: main
04-28 21:19:34.786: E/AndroidRuntime(32514): android.view.InflateException: Binary XML file line #8: Error inflating class com.mobeta.android.dslv.DragSortListView
以下是我的XML布局:

<?xml version="1.0" encoding="utf-8"?>
<com.mobeta.android.dslv.DragSortListView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:dslv="http://schemas.android.com/apk/res-auto"
    android:id="@android:id/list"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:paddingTop="7dp"
    android:paddingBottom="0dp"
    android:paddingLeft="0dp"
    android:layout_margin="0dp"
    android:dividerHeight="5dp"
    dslv:drag_enabled="true"
    dslv:collapsed_height="2dp"
    dslv:drag_scroll_start="0.33"
    dslv:max_drag_scroll_speed="0.5"
    dslv:float_alpha="0.6"
    dslv:slide_shuffle_speed="0.3"
    dslv:track_drag_sort="false"
    dslv:use_default_controller="true"
    dslv:sort_enabled="false"
    dslv:remove_enabled="true"
    dslv:remove_mode="flingRemove"
    android:background="#E5E5E5" />

如果我更改行“xmlns:android=”http://schemas.android.com/apk/res/android“”到“xmlns:dslv=”http://schemas.android.com/apk/res/com.mobeta.android.demodslv"
,我将得到一个“找不到资源ifentifier”错误。

您的DragSortListView似乎没有作为库添加到项目中。并非总是需要在项目libs中包含jar。有时整个项目可以用作库。
通过检查库下的属性-->Android,检查演示是否包含DSLV项目。

您使用的是哪一版本的Android?ListFragment可以在版本11中使用。您必须添加“support.v4.jar”。

您可能有错误的url。应该是:
您正在使用“com.mobeta.android.demodalslv”点击演示项目。

您在libs/?中是否有所需的jar?我相信是的,因为从中派生的演示在lib文件夹中没有任何.jar文件。android v4支持已经包含在库中。谢谢,我认为以前的问题是我没有正确导入库。然而,现在我得到了一个不同的问题。我收到错误“android.view.InflateException:二进制XML文件行#8:错误膨胀类com.mobeta.android.dslv.DragSortListView”。此布局的xml代码已编辑到第一篇文章中。实际上,您必须指向xmlns:dslv中的包名。xmlns属性实际上用作命名空间,应该指向属性的源。如果我使用行“xmlns:dslv=”“”指向我的xmlns,我将得到一个找不到资源标识符的错误。您是否尝试将应用程序包名称放在res/之后?我的同意。该网站缩短了url。我的意思是xmlns:dslv=“/com.mobeta.android.demodalslv”我的目标api是16 w/最小值为11。DSLV库已经包含了对v4的支持。
<?xml version="1.0" encoding="utf-8"?>
<com.mobeta.android.dslv.DragSortListView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:dslv="http://schemas.android.com/apk/res-auto"
    android:id="@android:id/list"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:paddingTop="7dp"
    android:paddingBottom="0dp"
    android:paddingLeft="0dp"
    android:layout_margin="0dp"
    android:dividerHeight="5dp"
    dslv:drag_enabled="true"
    dslv:collapsed_height="2dp"
    dslv:drag_scroll_start="0.33"
    dslv:max_drag_scroll_speed="0.5"
    dslv:float_alpha="0.6"
    dslv:slide_shuffle_speed="0.3"
    dslv:track_drag_sort="false"
    dslv:use_default_controller="true"
    dslv:sort_enabled="false"
    dslv:remove_enabled="true"
    dslv:remove_mode="flingRemove"
    android:background="#E5E5E5" />