6

当 Activity 获得焦点时,Android 会滚动到 ScrollView 内的焦点 EditText。

我怎么能告诉 Android 不要这样做,而是保持滚动位置?

情况:

验证方法必须滚动到 TextView 以引起用户的注意。它将焦点设置到可视区域之外的 EditText 以避免用户混淆(当 Android 在向下滚动后将焦点设置在最近但不相关的 EditText 上时会发生这种情况)。

用户单击一个按钮并通过 startActivityForResult 在第二个活动中输入数据。onActivityResult 在同一个 TextView 中呈现结果。现在 TextView 不再可见,因为 Android 滚动到焦点 EditText。

4

2 回答 2

2

尝试setSelected(false)编辑文本。

于 2013-03-23T21:57:51.980 回答
1

Instead of the EditText one can use another View to steal the focus e.g. layout with attributes android:focusable="true" and android:focusableInTouchMode="true". Android does not seem to use this to scroll ScrollView which is exactly what I need. It's a hack and discouraged but my 1st attempt is a hack too, to work around a bug so who cares :). Thanks matthias for the hint.

于 2013-03-24T04:50:38.340 回答