7

Ho usato RecyclerView dalla libreria di supporto Android. Quando viene eseguito sul Samsung Galaxy S2 con Android 4.1.2 (API 16), tutti funzionano bene, ma in Logcat vedo messaggi:Android Recycle View LogCat: Impossibile trovare il metodo

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 

Dovrei preoccuparsi di questi messaggi?

risposta

0

Guardate questa risposta https://stackoverflow.com/a/18600156/1852441

In sostanza, non si sta chiamando il metodo corretto. Dovrai chiamare il corrispondente metodo di "supporto".

es. chiamare getActionBar() da v14 anziché getSupportActionBar() da v7 causerà questo problema.

Assicurati di chiamare i metodi di supporto e questo errore andrà via.

Problemi correlati