阻止EditText在Nexus 7 - 4.2版本的Actvity启动时获得关注

时间:2013-02-01 07:34:05

标签: android android-edittext startup nexus-7 autofocus

注意:我不确定发布此问题,还是应该重新打开上一个问题。我发布这个是因为它只与(4.2版本)

有关

此问题似乎再次重复,之前已发布here,但此次此问题仅在Nexus7(4.2版本)上持续存在

否则它在4.1.2之前的所有其他版本上都能正常工作(即使在Nexus 4.1.2上也经过测试)。

我已尝试/检查了here

发布的所有建议和可能性

任何人都可以解释这个问题,也请为此提供解决方案。谢谢

1 个答案:

答案 0 :(得分:0)

您应该展示一些代码,因为我不知道我要发布的内容是否会帮助您。

我的问题(类似于问题)我在4.2(SG4)中注意到但早期版本没有注意到EditText在活动创建期间在onResume()之后获得了焦点。这个问题并不总是发生,但在活动中打开和关闭键盘时似乎更为普遍。

我的方案 - 两个EditText框,我们称之为A和B,其中xml中的A有requestFocus> / requestFocus>。两者都有onFocusListners。在onCreate之后,A会有焦点。在创建期间的onResume之后,B将具有焦点。不知道为什么。两个onFocusListners都会改变屏幕布局,我想避免过早地将焦点更改为B.

我的工作 - 我在xml中的A和B之间插入了第三个EditText。我们称之为Z. Z必须将可见性设置为VISIBLE。 Z必须还有一个虚拟的onFocusListner,它什么也没做。运行这个导致Z获得焦点。要将焦点返回到A并从布局中删除Z,我必须执行以下操作:在onCreate中,我在视图Z上执行了postDelayed(),在run方法中,我将焦点更改为A并将Z的可见性设置为已消失。延迟100ms。我试过onPostResume()而不是postDelayed()但是没有用。