在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