2015-12-01 9 views
10

私は事前API 21デバイス上で自分のアプリケーションを実行しようとすると、私はこの奇妙なエラーを取得しています:は、クラスを見つけることができませんでした「android.widget.ThemedSpinnerAdapter」[Androidのメーカー]

I/Choreographer: Skipped 39 frames! The application may be doing too much work on its main thread. 
12-10 07:58:44.179 4469-4472/projects.test.com.webviewtest D/dalvikvm: GC_CONCURRENT freed 156K, 4% free 4561K/4744K, paused 4ms+12ms, total 76ms 
12-10 07:58:44.409 4469-4469/projects.test.com.webviewtest I/dalvikvm: Could not find method android.widget.Spinner.getPopupContext, referenced from method android.support.v7.widget.AppCompatSpinner.getPopupContext 
12-10 07:58:44.409 4469-4469/projects.test.com.webviewtest W/dalvikvm: VFY: unable to resolve virtual method 18719: Landroid/widget/Spinner;.getPopupContext()Landroid/content/Context; 
12-10 07:58:44.409 4469-4469/projects.test.com.webviewtest D/dalvikvm: VFY: replacing opcode 0x6f at 0x000b 
12-10 07:58:44.419 4469-4469/projects.test.com.webviewtest I/dalvikvm: Could not find method android.content.Context.getDrawable, referenced from method android.support.v7.widget.AppCompatSpinner.setPopupBackgroundResource 
12-10 07:58:44.419 4469-4469/projects.test.com.webviewtest W/dalvikvm: VFY: unable to resolve virtual method 255: Landroid/content/Context;.getDrawable (I)Landroid/graphics/drawable/Drawable; 
12-10 07:58:44.419 4469-4469/projects.test.com.webviewtest D/dalvikvm: VFY: replacing opcode 0x6e at 0x0004 
12-10 07:58:44.429 4469-4469/projects.test.com.webviewtest I/dalvikvm: Could not find method android.widget.PopupWindow.showAsDropDown, referenced from method android.support.v7.widget.AppCompatPopupWindow.showAsDropDown 
12-10 07:58:44.429 4469-4469/projects.test.com.webviewtest W/dalvikvm: VFY: unable to resolve virtual method 18641: Landroid/widget/PopupWindow;.showAsDropDown (Landroid/view/View;III)V 
12-10 07:58:44.429 4469-4469/projects.test.com.webviewtest D/dalvikvm: VFY: replacing opcode 0x6f at 0x000d 
12-10 07:58:44.459 4469-4469/projects.test.com.webviewtest I/dalvikvm: Could not find method android.widget.CompoundButton.drawableHotspotChanged, referenced from method android.support.v7.widget.SwitchCompat.drawableHotspotChanged 
12-10 07:58:44.459 4469-4469/projects.test.com.webviewtest W/dalvikvm: VFY: unable to resolve virtual method 18333: Landroid/widget/CompoundButton;.drawableHotspotChanged (FF)V 
12-10 07:58:44.459 4469-4469/projects.test.com.webviewtest D/dalvikvm: VFY: replacing opcode 0x6f at 0x0006 
12-10 07:58:44.559 4469-4469/projects.test.com.webviewtest E/dalvikvm: Could not find class 'android.widget.ThemedSpinnerAdapter', referenced from method android.support.v7.widget.AppCompatSpinner$DropDownAdapter.<init> 
12-10 07:58:44.569 4469-4469/projects.test.com.webviewtest W/dalvikvm: VFY: unable to resolve instanceof 2184 (Landroid/widget/ThemedSpinnerAdapter;) in Landroid/support/v7/widget/AppCompatSpinner$DropDownAdapter; 
12-10 07:58:44.569 4469-4469/projects.test.com.webviewtest D/dalvikvm: VFY: replacing opcode 0x20 at 0x0016 

実際に私が取得できないドン残念なことにあなたのアプリは機能しなくなったので、アプリは自動的にメインアクティビティを終了します。

私のアプリケーションではヘビーな画像は使用しません。スピンが4つのページだけです。特に

、このラインは赤で強調表示されています:私は、Eclipseを使用していないよう

E/dalvikvm: Could not find class 'android.widget.ThemedSpinnerAdapter', referenced from method android.support.v7.widget.AppCompatSpinner$DropDownAdapter.<init> 

はしかし、私はGradleのを使用して、適切な輸入品を持っていると確信している:私の状況で

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.1" 

    defaultConfig { 
     applicationId "projects.test.com.webviewtest" 
     minSdkVersion 14 
     targetSdkVersion 23 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    testCompile 'junit:junit:4.12' 
    compile 'com.android.support:appcompat-v7:23.1.1' 
    compile 'com.android.support:design:23.1.1' 
    compile 'com.android.support:recyclerview-v7:23.1.1' 
} 
+0

findViewByIdで取得されたビューのレイアウトでスピナービューが表示されているかどうかを確認するには、キャストをチェックする必要があります。AppCompatSpinnerまたはカスタムクラスがある場合、findViewByIdを同じクラスでキャストしてください。 – Mouloud

+0

このエラーが発生した場合メッセージは、Parseを使用している間、この質問を見て: http:// stackoverflow.com/questions/33416691/could-not-find-class-android-widget-themedspinneradapter/34968810#34968810' –

答えて

4

このレイアウトXMLファイル内でandroid:tint="?attr/colorControlNormal"の使用を取り除くことによって解決されました。これは他人に役立つかもしれません。

1

私は自分のプロジェクトでcompileSdkVersionを見ている問題を解決しました。 が、私はそれらの3がSDK 22でコンパイルされた、4つのモジュールを持っていた私は、SDK 22、解決される問題にそれらのすべてを変更した後、1は、SDK 23

してコンパイルしました。だから、私のアドバイスは、SDKのバージョンを確認し、プロジェクト内のすべてのモジュールを同じ番号に選択することです。

乾杯

+0

何とか問題はSDKバージョン23 – BlackPearl

1

私はまた、いくつかのデバイスで実行され、一部のデバイスで実行されていない、スピナーと同じ問題を得ました。私はsetAdapter(null)を置くので。そのため、このように動作しています。その代わりにArrayList arrayList = new ArrayList(); spinner.setAdapter(new ArrayAdapter<String>(activity.this, android.R.layout.simple_dropdown_item_1line, arrayList)); を入れてください。それはすべてのデバイスで動作します。

関連する問題