所有 EditText 框中的非活动 InputConnection 警告

Posted

技术标签:

【中文标题】所有 EditText 框中的非活动 InputConnection 警告【英文标题】:inactive InputConnection warning in all EditText box 【发布时间】:2013-12-13 10:03:34 【问题描述】:

在我的应用程序中,每次我在 EditText 字段上使用光标执行任何操作时,都会收到 3 个“inactive InputConnection”警告(下面​​的 logCat)。

即使我选择了另一个 EditText(光标是一个 EditText),或者只是单击一个按钮,或者我在 EditText 中对光标执行的任何操作,也会弹出此警告。这种行为在所有页面(活动)中都是一致的。

即使我在 EditText 字段上单击任何菜单按钮(转到另一页)或返回按钮,也会弹出相同的警告集。

在一些我没有任何 EditText 的 Activity 中,我没有这个问题。

当我在真机(三星 Note II)中尝试时出现此问题,但在我在模拟器中尝试时不会复制。

有人知道如何处理这个问题吗?

LogCat:

11-27 22:23:44.820: W/IInputConnectionWrapper(25490): getSelectedText on inactive InputConnection
11-27 22:23:44.850: W/IInputConnectionWrapper(25490): setComposingText on inactive InputConnection
11-27 22:23:44.850: W/IInputConnectionWrapper(25490): getExtractedText on inactive InputConnection

【问题讨论】:

我认为this question 是相关的... 与这种情况不同,即使我对 EditText 框没有任何操作,我也会收到警告 同意。如果我只是弹出一个键盘,甚至什么都不做,而是再次将其退回,然后退出我的应用程序,我就会得到它,我会收到警告。如果我不弹出那个键盘,我就不明白了。而且我什至没有用它做任何事情。 【参考方案1】:

您应该将此代码添加到清单中:

android:windowSoftInputMode="adjustNothing"

【讨论】:

这会导致视图不滚动。【参考方案2】:

检查你使用的是getIntent()还是new Intent()

当我使用getIntent():

Intent intent = getIntent();
intent.setClass(getBaseContext(), Activity.class);
startActivity(intent);

第一次运行所有工作,但在第二次运行时它会产生警告并且应用程序被关闭:

V/Monotype: SetAppTypeFace- 尝试翻转,app = com.package

V/Monotype:字体 getFontPathFlipFont - systemFont = default

I/TextInputLayout:添加的 EditText 不是 TextInputEditText。请改用该类。

I/TextInputLayout:添加的 EditText 不是 TextInputEditText。请改用该类。

I/Timeline: Timeline: Activity_idle id: android.os.BinderProxy@2c4c94c8 time:61939164

I/Timeline: Timeline: Activity_launch_request id:com.package time:61942367

W/IInputConnectionWrapper:在非活动 InputConnection 上显示状态图标

W/IInputConnectionWrapper:非活动 InputConnection 上的 beginBatchEdit

W/IInputConnectionWrapper:非活动 InputConnection 上的 endBatchEdit

D/OpenGLRenderer:endAllStagingAnimators 位于 0x5589e3a5f0 (RippleDrawable) 上,句柄为 0x5589d7c0e0

当我使用new Intent():

Intent intent = new Intent(getBaseContext(), Activity.class);
startActivity(intent);

应用程序正常运行。

【讨论】:

以上是关于所有 EditText 框中的非活动 InputConnection 警告的主要内容,如果未能解决你的问题,请参考以下文章

获取input输入框中的值的方法

从android中的edittext框中获取XXX-XXX-XXXX格式的电话号码

从适配器类获取不同活动中的 EditText 值

如何计算熊猫数据框中的非字母数字字符

尝试从 Kotlin 中的另一个活动访问 EditText 时出现空指针异常

如何将值从一个活动传递到上一个活动