Java InputConnection.finishComposingText()NullPointerException
我正在crashlytics上获取此错误日志。我不知道是什么造成了这次车祸。 它发生在Android 4.x、5.x、6.x设备上。(三星、索尼、LGE等)Java InputConnection.finishComposingText()NullPointerException,java,android,crashlytics,crash-reports,Java,Android,Crashlytics,Crash Reports,我正在crashlytics上获取此错误日志。我不知道是什么造成了这次车祸。 它发生在Android 4.x、5.x、6.x设备上。(三星、索尼、LGE等) 确保onCreateInputConnection覆盖方法中的输入连接不为null @Override public InputConnection onCreateInputConnection(EditorInfo outAttrs) { InputConnection inputConnection = super.onCre
确保onCreateInputConnection覆盖方法中的输入连接不为null
@Override
public InputConnection onCreateInputConnection(EditorInfo outAttrs) {
InputConnection inputConnection = super.onCreateInputConnection(outAttrs);
if (inputConnection == null)
{
return null;
}
return new MyInputConnectionWrapper(inputConnection,
true);
}
其中MyInputConnectionWrapper是您的自定义输入连接包装,它是从InputConnectionWrapper扩展而来的。假设片段或活动具有名为mTv的非EditTextView;在适当的时候,
mTv.requestFocuse()
;这对我有用。希望这对您有所帮助。,这可能是因为有了Android高级评测工具
从运行/调试配置
对话框禁用它:
由于启用了高级评测选项,我也遇到了这种情况
要禁用高级分析,请执行以下步骤:
选择运行 编辑配置
在左窗格中选择您的应用程序模块
单击分析选项卡,然后取消选中启用高级分析。
上述答案应该是正确的,但在我的场景中,出现此错误的原因是:
Edittext具有焦点,使用Edittext.getText()
时会发生此错误。
要避免此错误,您必须:
edittext.gettext().toString();
注意:此edittext必须具有焦点才能发生此错误。删除高级配置文件直到返回null才执行此操作?您能说明为什么会出现此问题吗?我的工作是,我有一个自定义类扩展了AppCompatAutoCompleteTextView,在onCreateInputConnection()中添加了代码,非常感谢!你知道为什么高级评测会导致这个问题吗?我也很好奇。这是如何连接的?禁用该选项可以解决问题,但他们是否会为此提供适当的解决方案?(使用安卓Studio 3.1.3)@AdeelJaved似乎已在AS 3.2@Aba中修复。谢谢。是的,似乎他们已在AS 3.2 Canary 18版本中修复了此问题。感谢您发布此问题的答案。您发布的代码不正确,因此很难阅读和理解。在发布之前,请务必在预览部分查看您的帖子,并检查是否一切正常。请把你的帖子写得通俗易懂。还可以阅读关于的文章。格式良好的答案会让你获得更多的选票,并有更高的被接受的机会。
@Override
public InputConnection onCreateInputConnection(EditorInfo outAttrs) {
InputConnection inputConnection = super.onCreateInputConnection(outAttrs);
if (inputConnection == null)
{
return null;
}
return new MyInputConnectionWrapper(inputConnection,
true);
}