在Android中的对话框中显示ListView EditText中的焦点问题

我必须在对话框中显示包含EditText的ListView,其中用户可以在EditText中键入文本,并且其内容不应丢失。

例如,如果用户在第一个EditText中键入“11”,在第二个EditText中输入“22”,在第三个EditText中输入“33”,然后在第十个EditText中向下滚动列表视图,之后用户再次在第一个EditText的时候,第一个EditText的值应该是“11”,第二个EditText的是“22”等,我已经通过在EditText中改变文本时设置EditText来实现这一点。

我使用NiftyDialog作为对话框(链接)。 问题在于EditText随机获得焦点(它有时有效,有时不会)。

我已经设定

机器人:descendantFocusability = “afterDescendants”

在ListView中设置

机器人:windowSoftInputMode = “adjustPan”

在清单文件中,但它不能正常工作。

这里可能是什么问题?


使用大小为10的字符串类型的另一个列表,并将每个字符串的最初位置置于空白处,然后在edittext和onTextchange方法上添加一个textwatcher重新指定该特定位置的列表中的字符串值。请提供您的适配器代码


你是否明确要求EditText的焦点? 如在myEditText.requestFocus()

从你的问题来看,你似乎希望聚焦的编辑文本随着用户的向下滚动而改变。 你能澄清你期望的行为和发生的事情吗?


前一段时间我用EditText关注了这个问题,并意识到只需在现有视图上设置属性就不会起作用。 在我的情况下,这是为了避免键盘弹出,但我相信,同样的解决方案也适用于你的情况。

使用android:focusable="true"android:focusableInTouchMode="true"在顶部的所有其他视图上添加虚拟布局。 这样焦点将转到这个布局(它位于顶部),并且ListView EditText随机焦点问题将得到解决。

    <!-- Stop auto focussing the EditText -->
    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:background="@android:color/transparent"
        android:focusable="true"
        android:focusableInTouchMode="true">
    </LinearLayout>
链接地址: http://www.djcxy.com/p/24239.html

上一篇: Focus issue in ListView EditText display in Dialog in Android

下一篇: Android softkeyboard issue with input in focus