Android scrollview滚动到edittext

时间:2013-11-29 08:21:46

标签: android android-layout android-scrollview

我有一个横向ScrollView,最左边有EditText个,中间有一些其他东西,而在最右边我有一个Button。单击此按钮时,将显示一个对话框。该对话框包含EditText。因此,当我打开此对话框时,内部的edittext获得焦点并显示键盘。没关系。但是不好的是滚动视图滚动到edittext并且编辑文本获得焦点。

因此,在单击按钮之前,scroolview一直向右滚动,焦点位于包含scrollview的根RelativeLayout。这意味着没有edittext有焦点。但是当我在对话框的edittext中输入文本并按OK时,对话框将关闭,现在滚动视图一直向后滚动,并且编辑文本被聚焦。

如何防止这种情况发生。我希望在对话框关闭后焦点保持在RelativeLayout。我在RelativeLayout上设置了它,但它是一样的:

android:descendantFocusability="beforeDescendants"
android:focusableInTouchMode="true"

1 个答案:

答案 0 :(得分:0)

只是一个疯狂的猜测:您可以使用android:nextFocusXXX属性控制哪个元素获得焦点。特别是attributes:nextFocusForward看起来很有希望。

编辑:正如你的评论所说,焦点必须在Dialog被驳回后转移。您可以为要获得焦点的EditText添加对view.requestFocus()的调用。在DialogInterface.OnDismissListener

中添加该调用