ライブラリ プロジェクトから、libs ディレクトリに JAR を配置する方法に切り替えることにしました。これは、私が使用しているDragSortListView ライブラリを除くすべてのライブラリでうまくいきました。アプリケーションを実行すると、インフレートする必要がInflateException
あるDragSortListView
クラスが取得されます。の属性を使用できるように、XML レイアウトを変更する必要がありましたDragSortListView
(変更したのは xmlns:dslv 行だけです)。DragSortListView
Javaファイルでクラスを使用できることも注目に値します
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 ファイルで見つからない理由を誰かが説明し、おそらくそれを修正する方法について解決策を提供できれば、それは大歓迎です!