问题描述
我最近开始在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的屏幕截图:
完整报告:
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
}