带有Android 10的小米上TextInputLayout中的NullPointerException

问题描述

我最近开始在Android应用中使用TextInputLayout。之后,奇怪的NullPointerException错误开始出现。这些错误仅在具有Xiaomi的{​​{1}}设备上发生。

Androind 10

无法重现该错误(我没有小米设备)。在Internet上搜索时发现,尝试在Fatal Exception: java.lang.NullPointerException Attempt to invoke direct method 'void android.widget.Editor$SelectionModifierCursorController.initDrawables()' on a null object reference android.widget.Editor$SelectionModifierCursorController.access$300 字段中输入电子邮件时会发生此错误

互联网上有一个针对React Native的解决方案:https://github.com/facebook/react-native/issues/27204

不幸的是,我无法找到Java的解决方案。

Crashlytics的屏幕截图:

Crashlytics

完整报告:

TextInputLayout

解决方法

这就是我为修复崩溃所做的。编辑电子邮件地址时会禁用光标,但不会崩溃。

if (android.os.Build.MANUFACTURER.equals("Xiaomi",ignoreCase = true) &&
    android.os.Build.VERSION.SDK_INT == android.os.Build.VERSION_CODES.Q) {
    editText.isCursorVisible = false
}