2011-04-22 3 views
4

Je rencontre un problème étrange lorsque j'utilise le composant AutoCompleteTextView sur un périphérique fonctionnant sur Honeycomb (Android 3.0) (en utilisant Motorola Xoom pour tester). Je reçois une exception Nullpointer avec la stacktrace suivante:java.lang.NullPointerException - AutoCompleteTextView - HoneyComb

FATAL EXCEPTION: principale java.lang.NullPointerException à android.widget.PopupWindow.getMaxAvailableHeight (PopupWindow.java:1152) à android.widget.ListPopupWindow .buildDropDown (ListPopupWindow.java:1054) à android.widget.ListPopupWindow.show (ListPopupWindow.java:516) à android.widget.AutoCompleteTextView.showDropDown (AutoCompleteTextView.java:1047) à android.widget. AutoCompleteTextView.updateDropDownForFilter (AutoCompleteTextView.jav a: 931) à android.widget.AutoCompleteTextView.onFilterComplete (AutoCompleteTextView.java:914) à android.widget.Filter $ ResultsHandler.handleMessage (Filter.java:285) à android.os.Handler.dispatchMessage (Handler.java:99) à android.os.Looper.loop (Looper.java:126) à android.app.ActivityThread.main (ActivityThread.java:3997) à java.lang.reflect. Method.invokeNative (natif , méthode) au java.lang.reflect.Method.invoke (Method.java:491) at com.android.internal.os.ZygoteInit $ MethodAndArgsCalle r.run (ZygoteInit.java:841) à com.android.internal.os.ZygoteInit.main (ZygoteInit.java:599) à dalvik.system.NativeStart.main (native Méthode)

Notez que je ne reçois pas cette exception sur les autres versions d'Android, y compris Gingerbread. C'est vraiment difficile à déboguer puisque je n'ai pas le code source d'origine de base de code Honeycomb. J'apprécierais que quelqu'un puisse m'aider.

Merci, Torri.

+2

Peut-on voir le code de la façon dont vous utilisez getMaxAvailableHeight? –

Répondre

1

Je ne sais pas si cela peut aider mais j'ai eu un problème similaire avec un bouton. Il a bien fonctionné sur toutes les versions sauf 3.0 donc je l'ai fait:

try{ 
    mButton.setOnClickListener(... 
    //code... 

}catch(NullPointerException e){ 

} 

Après cela, pas plus d'erreurs et devinez quoi? Le bouton fonctionne bien maintenant sur 3.0!

+1

Vous devriez vraiment signaler ce problème sur le bug tracker Android! – alexanderblom

5

J'ai eu l'exception exacte. Tout fonctionne en 2. *, mais dans 3.x, tous ont levé cette exception, et simplement essayer de ne pas fonctionner.

Enfin, je trouve que, si je retire la ligne ci-dessous de la vue, il a travaillé pour moi:

android:dropDownAnchor="@+id/searchField" 
+0

presque le même problème donc cela m'a aidé à le réaliser. J'ai eu le mauvais nom dans ce champ en raison d'une erreur copier/coller. – Nancy

+0

MERCI. C'était mon problème! J'avais renommé l'ID de la vue référencée et ne l'ai pas mise à jour ci-dessous. –