7

Tôi đã sử dụng RecyclerView từ Thư viện hỗ trợ Android. Khi chạy trên Samsung Galaxy S2 với Android 4.1.2 (API 16), tất cả đều hoạt động tốt nhưng trong Logcat tôi thấy thông báo:Android Recycle View LogCat: Không thể tìm thấy phương thức

03-24 I/dalvikvm: DexOpt: illegal method access (call Landroid/support/v7/widget/RecyclerView$ViewHolder;.isUpdated()Z from Lnet/mytest/TransactionsAdapter$TransactionsAdapterViewHolder;) 
03-24 I/dalvikvm: Could not find method android.support.v7.widget.RecyclerView$ViewHolder.isUpdated, referenced from method net.mytest.TransactionsAdapter$TransactionsAdapterViewHolder.access$super 
03-24 W/dalvikvm: VFY: unable to resolve virtual method 16775: Landroid/support/v7/widget/RecyclerView$ViewHolder;.isUpdated()Z 
03-24 D/dalvikvm: VFY: replacing opcode 0x6f at 0x0031 
03-24 I/dalvikvm: DexOpt: illegal method access (call Landroid/support/v7/widget/RecyclerView$ViewHolder;.flagRemovedAndOffsetPosition (IIZ)V from Lnet/mytest/TransactionsAdapter$TransactionsAdapterViewHolder;) 
03-24 I/dalvikvm: Could not find method android.support.v7.widget.RecyclerView$ViewHolder.flagRemovedAndOffsetPosition, referenced from method net.mytest.TransactionsAdapter$TransactionsAdapterViewHolder.access$super 
03-24 W/dalvikvm: VFY: unable to resolve virtual method 16759: Landroid/support/v7/widget/RecyclerView$ViewHolder;.flagRemovedAndOffsetPosition (IIZ)V 
03-24 D/dalvikvm: VFY: replacing opcode 0x6f at 0x0053 
03-24 I/dalvikvm: DexOpt: illegal method access (call Landroid/support/v7/widget/RecyclerView$ViewHolder;.isRemoved()Z from Lnet/mytest/TransactionsAdapter$TransactionsAdapterViewHolder;) 
03-24 I/dalvikvm: Could not find method android.support.v7.widget.RecyclerView$ViewHolder.isRemoved, referenced from method net.mytest.TransactionsAdapter$TransactionsAdapterViewHolder.access$super 
03-24 W/dalvikvm: VFY: unable to resolve virtual method 16772: Landroid/support/v7/widget/RecyclerView$ViewHolder;.isRemoved()Z 
03-24 D/dalvikvm: VFY: replacing opcode 0x6f at 0x0058 
03-24 I/dalvikvm: DexOpt: illegal method access (call Landroid/support/v7/widget/RecyclerView$ViewHolder;.clearPayload()V from Lnet/mytest/TransactionsAdapter$TransactionsAdapterViewHolder;) 
03-24 I/dalvikvm: Could not find method android.support.v7.widget.RecyclerView$ViewHolder.clearPayload, referenced from method net.mytest.TransactionsAdapter$TransactionsAdapterViewHolder.access$super 
03-24 W/dalvikvm: VFY: unable to resolve virtual method 16754: Landroid/support/v7/widget/RecyclerView$ViewHolder;.clearPayload()V 
03-24 D/dalvikvm: VFY: replacing opcode 0x6f at 0x007c 
03-24 I/dalvikvm: DexOpt: illegal method access (call Landroid/support/v7/widget/RecyclerView$ViewHolder;.isAdapterPositionUnknown()Z from Lnet/mytest/TransactionsAdapter$TransactionsAdapterViewHolder;) 
03-24 I/dalvikvm: Could not find method android.support.v7.widget.RecyclerView$ViewHolder.isAdapterPositionUnknown, referenced from method net.mytest.TransactionsAdapter$TransactionsAdapterViewHolder.access$super 
03-24 W/dalvikvm: VFY: unable to resolve virtual method 16768: Landroid/support/v7/widget/RecyclerView$ViewHolder;.isAdapterPositionUnknown()Z 
03-24 D/dalvikvm: VFY: replacing opcode 0x6f at 0x0086 
03-24 I/dalvikvm: DexOpt: illegal method access (call Landroid/support/v7/widget/RecyclerView$ViewHolder;.offsetPosition (IZ)V from Lnet/mytest/TransactionsAdapter$TransactionsAdapterViewHolder;) 
03-24 I/dalvikvm: Could not find method android.support.v7.widget.RecyclerView$ViewHolder.offsetPosition, referenced from method net.mytest.TransactionsAdapter$TransactionsAdapterViewHolder.access$super 
03-24 W/dalvikvm: VFY: unable to resolve virtual method 16777: Landroid/support/v7/widget/RecyclerView$ViewHolder;.offsetPosition (IZ)V 
03-24 D/dalvikvm: VFY: replacing opcode 0x6f at 0x00ad 
03-24 I/dalvikvm: DexOpt: illegal method access (call Landroid/support/v7/widget/RecyclerView$ViewHolder;.shouldIgnore()Z from Lnet/mytest/TransactionsAdapter$TransactionsAdapterViewHolder;) 
03-24 I/dalvikvm: Could not find method android.support.v7.widget.RecyclerView$ViewHolder.shouldIgnore, referenced from method net.mytest.TransactionsAdapter$TransactionsAdapterViewHolder.access$super 
03-24 W/dalvikvm: VFY: unable to resolve virtual method 16786: Landroid/support/v7/widget/RecyclerView$ViewHolder;.shouldIgnore()Z 
03-24 D/dalvikvm: VFY: replacing opcode 0x6f at 0x00b9 
03-24 I/dalvikvm: DexOpt: illegal method access (call Landroid/support/v7/widget/RecyclerView$ViewHolder;.setFlags (II)V from Lnet/mytest/TransactionsAdapter$TransactionsAdapterViewHolder;) 
03-24 I/dalvikvm: Could not find method android.support.v7.widget.RecyclerView$ViewHolder.setFlags, referenced from method net.mytest.TransactionsAdapter$TransactionsAdapterViewHolder.access$super 
03-24 W/dalvikvm: VFY: unable to resolve virtual method 16782: Landroid/support/v7/widget/RecyclerView$ViewHolder;.setFlags (II)V 
03-24 D/dalvikvm: VFY: replacing opcode 0x6f at 0x00d4 
03-24 I/dalvikvm: DexOpt: illegal method access (call Landroid/support/v7/widget/RecyclerView$ViewHolder;.addChangePayload (Ljava/lang/Object;)V from Lnet/mytest/TransactionsAdapter$TransactionsAdapterViewHolder;) 
03-24 I/dalvikvm: Could not find method android.support.v7.widget.RecyclerView$ViewHolder.addChangePayload, referenced from method net.mytest.TransactionsAdapter$TransactionsAdapterViewHolder.access$super 
03-24 W/dalvikvm: VFY: unable to resolve virtual method 16751: Landroid/support/v7/widget/RecyclerView$ViewHolder;.addChangePayload (Ljava/lang/Object;)V 
03-24 D/dalvikvm: VFY: replacing opcode 0x6f at 0x00dc 

Tôi có nên lo lắng về tin nhắn này không?

Trả lời

0

Nhìn vào câu trả lời này https://stackoverflow.com/a/18600156/1852441

Về cơ bản, bạn không gọi đúng phương pháp. Bạn sẽ phải gọi phương thức "hỗ trợ" tương ứng.

ví dụ: gọi getActionBar() từ v14 thay vì getSupportActionBar() từ v7 sẽ gây ra vấn đề này.

Đảm bảo bạn gọi phương thức hỗ trợ và lỗi này sẽ biến mất.

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