2

ライブラリ プロジェクトから、libs ディレクトリに JAR を配置する方法に切り替えることにしました。これは、私が使用しているDragSortListView ライブラリを除くすべてのライブラリでうまくいきました。アプリケーションを実行すると、インフレートする必要がInflateExceptionあるDragSortListViewクラスが取得されます。の属性を使用できるように、XML レイアウトを変更する必要がありましたDragSortListView(変更したのは xmlns:dslv 行だけです)。DragSortListViewJavaファイルでクラスを使用できることも注目に値します

XML レイアウト (プロジェクトとしてのライブラリ):

 <com.mobeta.android.dslv.DragSortListView
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:dslv="http://schemas.android.com/apk/res/com.package.myprojectpackage"
        android:id="@android:id/list"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:drawSelectorOnTop="false"
        dslv:collapsed_height="2dp"
        dslv:drag_enabled="true"
        dslv:drag_scroll_start="1"
        dslv:float_alpha="1.0"
        dslv:float_background_color="@color/Transparent"
        dslv:max_drag_scroll_speed="0.5"
        dslv:slide_shuffle_speed="0.3"
        dslv:drag_handle_id="@+id/sabnzbd_queue_drag_handle"
        dslv:track_drag_sort="false"
        dslv:use_default_controller="true" />

XML レイアウト (JAR としてのライブラリ):

<com.mobeta.android.dslv.DragSortListView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:dslv="http://schemas.android.com/apk/lib/com.mobeta.android.dslv"
    android:id="@android:id/list"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:drawSelectorOnTop="false"
    dslv:collapsed_height="2dp"
    dslv:drag_enabled="true"
    dslv:drag_scroll_start="1"
    dslv:float_alpha="1.0"
    dslv:float_background_color="@color/Transparent"
    dslv:max_drag_scroll_speed="0.5"
    dslv:slide_shuffle_speed="0.3"
    dslv:drag_handle_id="@+id/sabnzbd_queue_drag_handle"
    dslv:track_drag_sort="false"
    dslv:use_default_controller="true" />   

InflateException (JAR としてのライブラリ):

07-06 15:25:33.376: E/AndroidRuntime(22907): FATAL EXCEPTION: main
07-06 15:25:33.376: E/AndroidRuntime(22907): android.view.InflateException: Binary XML file line #32: Error inflating class com.mobeta.android.dslv.DragSortListView
07-06 15:25:33.376: E/AndroidRuntime(22907):    at android.view.LayoutInflater.createView(LayoutInflater.java:613)
07-06 15:25:33.376: E/AndroidRuntime(22907):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687)
07-06 15:25:33.376: E/AndroidRuntime(22907):    at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
07-06 15:25:33.376: E/AndroidRuntime(22907):    at android.view.LayoutInflater.rInflate(LayoutInflater.java:749)
07-06 15:25:33.376: E/AndroidRuntime(22907):    at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
07-06 15:25:33.376: E/AndroidRuntime(22907):    at android.view.LayoutInflater.inflate(LayoutInflater.java:396)

クラスが XML ファイルで見つからない理由を誰かが説明し、おそらくそれを修正する方法について解決策を提供できれば、それは大歓迎です!

4

1 に答える 1