Je reçois ce journal des erreurs sur crashlytics. Je ne sais pas ce qui fait que cet accident… .. Il se produit sur les appareils Android 4.x, 5.x et 6.x. (Samsung, Sony, LGE, etc.)
Fatal Exception: Java.lang.NullPointerException: Attempt to invoke interface method 'boolean Android.view.inputmethod.InputConnection.finishComposingText()' on a null object reference
at Android.view.inputmethod.InputConnectionWrapper.finishComposingText(InputConnectionWrapper.Java:78)
at Android.view.inputmethod.InputMethodManager.checkFocusNoStartInput(InputMethodManager.Java:1809)
at Android.view.inputmethod.InputMethodManager.checkFocus(InputMethodManager.Java:1761)
at Android.view.inputmethod.InputMethodManager.isActive(InputMethodManager.Java:883)
at Android.widget.Editor$CursorAnchorInfoNotifier.updatePosition(Editor.Java:4095)
at Android.widget.Editor$PositionListener.onPreDraw(Editor.Java:2564)
at Android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.Java:1018)
at Android.view.ViewRootImpl.performTraversals(ViewRootImpl.Java:2313)
at Android.view.ViewRootImpl.doTraversal(ViewRootImpl.Java:1301)
at Android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.Java:7021)
at Android.view.Choreographer$CallbackRecord.run(Choreographer.Java:777)
at Android.view.Choreographer.doCallbacks(Choreographer.Java:590)
at Android.view.Choreographer.doFrame(Choreographer.Java:560)
at Android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.Java:763)
at Android.os.Handler.handleCallback(Handler.Java:739)
at Android.os.Handler.dispatchMessage(Handler.Java:95)
at Android.os.Looper.loop(Looper.Java:145)
at Android.app.ActivityThread.main(ActivityThread.Java:6918)
at Java.lang.reflect.Method.invoke(Method.Java)
at Java.lang.reflect.Method.invoke(Method.Java:372)
at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:1404)
at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:1199)
Assurez-vous que la connexion d'entrée n'est pas nulle dans votre méthode de remplacement onCreateInputConnection.
@Override
public InputConnection onCreateInputConnection(EditorInfo outAttrs) {
InputConnection inputConnection = super.onCreateInputConnection(outAttrs);
if (inputConnection == null)
{
return null;
}
return new MyInputConnectionWrapper(inputConnection,
true);
}
Où MyInputConnectionWrapper est votre encapsuleur de connexion d'entrée personnalisé, étendu à partir de InputConnectionWrapper.
Comme mentionné ici , cela peut arriver à cause de l'outil Android Advanced Profiling
.
Désactivez-le à partir de la boîte de dialogue Run/Debug Configurations
:
Cela m'est également arrivé à cause de l'option profilage avancé est activée.
Pour désactiver le profilage avancé, procédez comme suit:
La réponse ci-dessus devrait être correcte, mais dans mon scénario, la raison de cette erreur est la suivante: Edittext a le focus, et cette erreur se produit lorsque edittext.getText()
est utilisé .edittext.gettext().toString();
Remarque: cet edittext doit avoir le focus pour provoquer cette erreur.
Supposons que le fragment ou l'activité ait un EditTextView non nommé nommé mTv; À un moment opportun, mTv.requestFocuse()
; Cela fonctionne pour moi. J'espère que cela vous aide.