Android 打开屏幕并将屏幕锁定设置为“无”时清空编辑文本
我遇到一个问题,在横向/全屏模式下的EditText在关闭屏幕后变为空,然后在系统屏幕锁定设置为无时打开。键盘保持活动状态,但似乎没有焦点,屏幕上也没有显示文本更新。如果我点击“完成”按钮或旋转到“纵向”,则全屏编辑器将被删除,并且我可以在正常的EditText视图中看到以前输入的文本 我在模拟器和设备上都在JB上复制这个。EditText有一个android:id,我在各种EditText和AutoCompleteTextView配置中发现了这个问题,但只有当系统屏幕锁定设置设置为“无”时才会出现。当设置为“滑动”或“模式”时,一切都正常工作,因此我怀疑缺少屏幕锁定是这个问题的根源 我在日历中发现了相同的问题,但在消息传递中没有发现。在横向/全屏模式下编辑SMS消息,然后关闭/打开屏幕时,消息起初显示为空,但过了一秒钟后返回。我查看了下面的源代码,但在onResume()中没有看到任何解决此问题的特殊内容 是否有人知道如何正确地修复此问题,以便在屏幕锁定为“无”时,您可以在横向/全屏模式下编辑文本,关闭屏幕,然后再打开,文本显示与您离开时一样?作为(希望是)临时修复,我在Android 打开屏幕并将屏幕锁定设置为“无”时清空编辑文本,android,Android,我遇到一个问题,在横向/全屏模式下的EditText在关闭屏幕后变为空,然后在系统屏幕锁定设置为无时打开。键盘保持活动状态,但似乎没有焦点,屏幕上也没有显示文本更新。如果我点击“完成”按钮或旋转到“纵向”,则全屏编辑器将被删除,并且我可以在正常的EditText视图中看到以前输入的文本 我在模拟器和设备上都在JB上复制这个。EditText有一个android:id,我在各种EditText和AutoCompleteTextView配置中发现了这个问题,但只有当系统屏幕锁定设置设置为“无”时才会
onResume()
中包含了以下行,它似乎起到了作用。最初,我尝试仅在IME为FullScreenMode()
时运行此命令,但在onResume()
中返回false(在onPause()中返回true之后)。我想这是问题根源的一部分。当“系统屏幕锁定”为“无”且屏幕已打开时,IME实际上不知道它处于全屏模式
View view = getCurrentFocus();
if (view != null) {
((InputMethodManager) getSystemService(INPUT_METHOD_SERVICE))
.restartInput(view);
}
意思是说,当你将设备纵向更改为横向时,它会删除你的数据,是吗?不,方向更改工作正常。它是关于在全屏横向编辑器中,先关闭屏幕,然后打开屏幕,文本不再显示在编辑器中。这只是当系统屏幕锁定设置为“无”时的问题。当它是任何其他值(如滑块或图案)时,打开屏幕并解锁后,文本将正确显示在编辑器中。