2015-12-01 95 views
10

Tôi nhận được lỗi này lạ khi tôi cố gắng chạy ứng dụng của tôi trên một pre API 21 thiết bị:không thể tìm thấy lớp 'android.widget.ThemedSpinnerAdapter' [Android Studio]

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 

Thật sự tôi don không có được ANR hoặc Rất tiếc, ứng dụng của bạn đã ngừng hoạt động, ứng dụng sẽ tự động thoát khỏi Hoạt động chính.

Tôi không sử dụng bất kỳ hình ảnh nặng nào trong ứng dụng của mình, chỉ một trang có bốn người quay.

Đặc biệt, dòng này được đánh dấu màu đỏ:

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

Tuy nhiên như tôi không sử dụng nhật thực, tôi chắc chắn tôi có nhập khẩu thích hợp sử dụng 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

kiểm tra xem chế độ xem spinner của bạn trong bố cục có chế độ xem được truy xuất với findViewById hay không, tôi có nghĩa là hãy kiểm tra dàn diễn viên, vì vậy nếu bạn có AppCompatSpinner hoặc lớp tùy chỉnh của bạn hãy chắc chắn truyền findViewById bằng cùng một lớp – Mouloud

+0

Nếu bạn gặp lỗi này trong khi sử dụng Phân tích cú pháp, hãy xem câu hỏi này: 'http: // stackoverflow.com/questions/33416691/could-not-find-class-android-widget-themedspinneradapter/34968810 # 34968810' –

Trả lời

4

Trong trường hợp của tôi này đã được giải quyết bằng cách xóa sử dụng android:tint="?attr/colorControlNormal" trong tệp XML bố cục ... Có thể điều này sẽ giúp người khác.

1

Tôi đã giải quyết được sự cố khi tìm đến biên dịchSdkVersion trong dự án của tôi. Tôi có 4 mô-đun, 3 mô-đun được biên dịch với sdk 22, một trong số đó được biên dịch với sdk 23.

Sau khi tôi thay đổi tất cả chúng thành sdk 22, giải quyết được vấn đề. Vì vậy, lời khuyên của tôi là kiểm tra phiên bản SDK và chọn cho tất cả các mô-đun trong dự án của bạn với cùng một số.

Chúc mừng

+0

bằng cách nào đó tôi nghĩ rằng vấn đề nằm trong Phiên bản SDK 23 – BlackPearl

1

Tôi cũng gặp vấn đề với spinner, nó đang chạy ở một số thiết bị và không chạy trong một số thiết bị. Bởi vì tôi đặt setAdapter(null). Bởi vì nó hoạt động như thế này. Thay vào đó, hãy đặt ArrayList arrayList = new ArrayList(); spinner.setAdapter(new ArrayAdapter<String>(activity.this, android.R.layout.simple_dropdown_item_1line, arrayList)); thì nó sẽ hoạt động trên tất cả các thiết bị.

Các vấn đề liên quan