2010-06-16 6 views
0

J'ai le code suivant qui GARDERA dans onCreate de mon activité principale méthodeAndroid java.lang.VerifyError seulement sur 1,5

public static ErrorReporter getInstance(){ 
    if (instance == null){ 
    instance = new ErrorReporter(); 
    } 
    return instance; 
} 

uniquement sur Android 1.5 appelant la méthode ci-dessus provoque java.lang.VerifyError. Je ne suis pas capable de comprendre pourquoi cela se produit. Tous les conseils sur la façon de résoudre ce problème

+0

Qu'est-ce que 'ErrorReporter'? Ce genre d'exception se produit lorsque vous essayez d'utiliser quelque chose qui n'est pas dans le SDK. Peut-être que dans la classe 'ErrorReporter' il y a des librairies disponibles pour Android> = 1.6. – Cristian

+0

ErrorReporter est une classe que j'ai définie qui implémente Thread.UncaughtExceptionHandler, ce qui m'aide à découvrir ce qui a causé la fermeture d'une force dans mon application. La fonction ci-dessus est utilisée pour obtenir l'instance de la classe. Dès que j'appelle cette méthode dans onCreate() de mon activité principale, j'obtiens une erreur (java.lang.VerifyError) et cela n'arrive que dans 1.5 – Josnidhin

+0

J'ai dit avoir vu ce même problème avec Android 1.5. J'ai une primitive définie comme un champ statique public dans une classe. Quand j'essaye d'accéder au champ statique d'une autre classe dans 1.5 j'obtiens un java.lang.VerifyError. – Richard

Répondre

0

J'utilisais une fonction dans la classe ErrorReporter qui n'était pas disponible dans 1.5. Utilisé la réflexion pour prendre soin de la fonction indisponible et l'erreur est partie.

0

Je suis exactement le même problème lorsque je tente de régler le listadatper pour un listview :)

Cocher cette

private void setResultListListAdapter() { 
    mListAdapter_ = new ListAdapter(mContext_, 
      R.layout.dsg_detailed_list_row, mLstStops_); 
    setListAdapter(mListAdapter_); 
} 

obtient un VerifyError avant mListAdapter_ initialisés obtient .. donc quelque chose avec ceci ...

nouveau ListAdapter (mContext_, R.layout.dsg_detailed_list_row, mLstStops_);

, mais il n'y a rien qui est juste disponible en 1.5: = // chose étrange ...

aussi dans 2 autres classes ce code fonctionne très bien ...: =)

quelqu'un espoir en sait plus, merci beaucoup! (tout initialisé, tout vérifié ... setListAdapter obtient jamais appelé)


SOLUTION (pour moi)

était vraiment une méthode qui n'a pas été pris en charge dans Android 1.5

mConvertView_.setTag (uniqueIntID, ViewHolder);

ViewHolder est une classe statique, au lieu d'utiliser View.gettag() normale, en raison de différentes dispositions i a utilisé le procédé ci-dessus .. donc: =)

le second est supporté, View.getTag (

1

Faites simplement une construction sur 1.5 et vous verrez où est le coupable ...

Questions connexes