53 votes

NPE dans ChangeCurrentByOneFromLongPressCommand (sur les appareils Samsung avec Android 4.3)

En utilisant un couple android.widget.NumberPicker dans ma vue d'application Android et je reçois le message suivant lorsque je maintiens l'une des flèches numérotées: -

 FATAL EXCEPTION: main 
java.lang.NullPointerException at android.widget.NumberPicker$ChangeCurrentByOneFromLongPressCommand.run(NumberPicker.java:2245)
at android.os.Handler.handleCallback(Handler.java:730)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5419)
 

Quelqu'un a des idées sur la façon dont je peux arrêter ce problème?

MISE À JOUR: D'après les commentaires reçus jusqu'à présent, il semble que cette exception ne se soit produite que sur les appareils Samsung dotés d'Android 4.3 .

0voto

ahmed_khan_89 Points 679

Voici comment j'implémente NumberPicker dans mon application et cela fonctionne bien pour moi:

code java , dans votre onCreate ():

 NumberPicker numberpicker = (NumberPicker) findViewById(R.id.np_from);
numberpicker.setMaxValue(100);
numberpicker.setMinValue(16);
 

Code XML :

            <NumberPicker
            android:id="@+id/np_from"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="20dp"
            android:width="100dip" />
 

J'espère que ça aide.

0voto

GGB667 Points 417

http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.3_r1/android/view/View.java#View.clearAccessibilityFocus%28%29

En regardant toutes les versions 4.3 il est assez clair que le code est plus susceptible d'appel clearAccessibilityFocus().

En supposant précise les numéros de ligne que j'avais de recherche là-bas pour une cause probable. Rien ne saute aux yeux, en fait, la plupart des accès ont de bonnes null contrôles.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X