我有一个和很多人一起的活动EditText
它们附近的控件和复选框。默认情况下,大多数EditTexts
被禁用。
当我打开活动时,一些随机的EditText
控件获得焦点(它周围有一个框架),如果您点击它,屏幕键盘就会出现,即使EditText
被禁用,并且当您按屏幕上的按键时不会出现任何文本。
另外,我的整个布局都包含在ScrollView
。当你滚动时,一些随机的EditText
获得焦点。它可以是最低的可见区域,也可以是最高的可见区域,有时位于中间,有时位于可见区域之外。
由于布局的随机元素获得焦点,因此当您打开 Activity 时,它会随机向下滚动,这非常烦人。
我猜这是 Android 的错误,但是有解决方法吗?
阻止 EditText 在 Activity 启动时获得焦点 https://stackoverflow.com/questions/1555109/stop-edittext-from-gaining-focus-at-activity-startup处理只有 1 的情况EditText
您可以告诉它失去焦点,以便虚拟元素可以获得焦点。在我的例子中,虚拟元素在 onResume 或 onCreate 中都没有获得焦点android:focusable="true" android:focusableInTouchMode="true"
我应该检查所有 EditText 控件(其中有 12 个)并告诉它们失去焦点吗?滚动会怎样,因为焦点似乎随机跳跃。
由于实施fling
方法在ScrollView
-
足以覆盖findFocus()
,这样它就会返回this
以防止滚动时焦点跳跃。
@Override
public View findFocus() {
return this;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)