在把我们的一些设备升级到 android 8.0之后,当我们把注意力集中在 TextInputLayout
内部的一个 TextInputEditText
字段上时,这个应用程序就崩溃了,崩溃的原因是 Exception
:
Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'void
android.view.View.getBoundsOnScreen(android.graphics.Rect)' on a null object reference
at android.app.assist.AssistStructure$WindowNode.(AssistStructure.java)
at android.app.assist.AssistStructure.(AssistStructure.java)
at android.app.ActivityThread.handleRequestAssistContextExtras(ActivityThread.java:3035)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1807)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6541)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
当我们去机器人 设置-> 系统-> 语言和输入-> 高级-> 自动填充服务-> 无,然后集中在 TextInputEditText
/
TextInputLayout
不再崩溃。
我们如何防止崩溃的发生,而不必禁用新的8.0自动填充服务的设备?