2

gridlayout サポート ライブラリを使用するウィジェットをクリックすると、次のエラーが表示されます。

10-12 17:15:14.373: E/dalvikvm(3957): Could not find class 'com.example.awesomefilebuilderwidget.Drag_and_Drop_App$MyDragListener', referenced from method com.example.awesomefilebuilderwidget.Drag_and_Drop_App.onCreate
10-12 17:15:14.433: E/AndroidRuntime(3957): FATAL EXCEPTION: main
10-12 17:15:14.433: E/AndroidRuntime(3957): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.awesomefilebuilderwidget/com.example.awesomefilebuilderwidget.Drag_and_Drop_App}: android.view.InflateException: Binary XML file line #2: Error inflating class android.support.v7.widget.GridLayout
10-12 17:15:14.433: E/AndroidRuntime(3957):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1833)
10-12 17:15:14.433: E/AndroidRuntime(3957):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1854)
10-12 17:15:14.433: E/AndroidRuntime(3957):     at android.app.ActivityThread.access$1500(ActivityThread.java:135)
10-12 17:15:14.433: E/AndroidRuntime(3957):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1041)
10-12 17:15:14.433: E/AndroidRuntime(3957):     at android.os.Handler.dispatchMessage(Handler.java:99)
10-12 17:15:14.433: E/AndroidRuntime(3957):     at android.os.Looper.loop(Looper.java:150)
10-12 17:15:14.433: E/AndroidRuntime(3957):     at android.app.ActivityThread.main(ActivityThread.java:4333)
10-12 17:15:14.433: E/AndroidRuntime(3957):     at java.lang.reflect.Method.invokeNative(Native Method)
10-12 17:15:14.433: E/AndroidRuntime(3957):     at java.lang.reflect.Method.invoke(Method.java:507)
10-12 17:15:14.433: E/AndroidRuntime(3957):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
10-12 17:15:14.433: E/AndroidRuntime(3957):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
10-12 17:15:14.433: E/AndroidRuntime(3957):     at dalvik.system.NativeStart.main(Native Method)
10-12 17:15:14.433: E/AndroidRuntime(3957): Caused by: android.view.InflateException: Binary XML file line #2: Error inflating class android.support.v7.widget.GridLayout
10-12 17:15:14.433: E/AndroidRuntime(3957):     at android.view.LayoutInflater.createView(LayoutInflater.java:518)
10-12 17:15:14.433: E/AndroidRuntime(3957):     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:570)
10-12 17:15:14.433: E/AndroidRuntime(3957):     at android.view.LayoutInflater.inflate(LayoutInflater.java:386)
10-12 17:15:14.433: E/AndroidRuntime(3957):     at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
10-12 17:15:14.433: E/AndroidRuntime(3957):     at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
10-12 17:15:14.433: E/AndroidRuntime(3957):     at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:231)
10-12 17:15:14.433: E/AndroidRuntime(3957):     at android.app.Activity.setContentView(Activity.java:1712)
10-12 17:15:14.433: E/AndroidRuntime(3957):     at com.example.awesomefilebuilderwidget.Drag_and_Drop_App.onCreate(Drag_and_Drop_App.java:22)
10-12 17:15:14.433: E/AndroidRuntime(3957):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1072)
10-12 17:15:14.433: E/AndroidRuntime(3957):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1797)
10-12 17:15:14.433: E/AndroidRuntime(3957):     ... 11 more
10-12 17:15:14.433: E/AndroidRuntime(3957): Caused by: java.lang.reflect.InvocationTargetException
10-12 17:15:14.433: E/AndroidRuntime(3957):     at java.lang.reflect.Constructor.constructNative(Native Method)
10-12 17:15:14.433: E/AndroidRuntime(3957):     at java.lang.reflect.Constructor.newInstance(Constructor.java:415)
10-12 17:15:14.433: E/AndroidRuntime(3957):     at android.view.LayoutInflater.createView(LayoutInflater.java:505)
10-12 17:15:14.433: E/AndroidRuntime(3957):     ... 20 more
10-12 17:15:14.433: E/AndroidRuntime(3957): Caused by: java.lang.NoClassDefFoundError: android.support.v7.gridlayout.R$dimen
10-12 17:15:14.433: E/AndroidRuntime(3957):     at android.support.v7.widget.GridLayout.<init>(GridLayout.java:255)
10-12 17:15:14.433: E/AndroidRuntime(3957):     at android.support.v7.widget.GridLayout.<init>(GridLayout.java:274)
10-12 17:15:14.433: E/AndroidRuntime(3957):     ... 23 more

公式の Android 開発者ガイドラインに従ってサポート ライブラリをプロジェクトに追加しましたが、まだエラーが発生します。

これは多かれ少なかれ私のせいだと思うので、それを追加するために取った手順は次のとおりです。

1) ファイル -> インポート -> 既存の Android コードをワークスペースに移動 -> v7 gridlayout ファイルを見つけて [完了] をクリックしました

2)サポートグリッドレイアウトパッケージとlibsフォルダーに移動し、.jarファイルを右クリックしてビルドパスに追加しました(binファイルでも同じことをしました)

3)自分のプロジェクトをクリック->プロパティ->ライブラリペイン-> JARを追加(以下を参照)

ここに画像の説明を入力

次に、以下に示すように、注文とエクスポートのタブもあります。

ここに画像の説明を入力

次に、プロジェクトの「参照ライブラリ」セクションに 2 つのライブラリが表示されます。 ここに画像の説明を入力

しかし、何をしても、同じエラーが発生します。私はこれを正しくやろうとしましたか?

4

1 に答える 1

1

あなたの手順は正しくありません。これの代わりに:

3)自分のプロジェクトをクリック->プロパティ->ライブラリペイン-> JARを追加(以下を参照)

これを実行します (手順の「リソースを使用してライブラリを追加する」セクションから):

  1. プロジェクト エクスプローラーでプロジェクトを右クリックし、[プロパティ] を選択します。
  2. [ライブラリ] ペインで、[追加] をクリックします。
  3. ライブラリ プロジェクトを選択し、[OK] をクリックします。たとえば、appcompat プロジェクトは android-support-v7-appcompat としてリストする必要があります。
  4. プロパティ ウィンドウで、[OK] をクリックします。

もちろん、appcompatの代わりにgridlayoutを使用することを除いて

また、([ビルドとエクスポート] タブで) 実行した残りの手順は、独自のプロジェクトではなく、gridlayoutプロジェクトに対して実行する必要があります (手順の同じセクションにも詳しく説明されています)。

于 2013-10-12T23:55:51.430 に答える