Android EditText字段永远不会被提交
我得到了一个带有多个Android EditText字段永远不会被提交,android,android-recyclerview,Android,Android Recyclerview,我得到了一个带有多个EditText-字段的RecyclerView。当我尝试编辑其中一个EditText-字段并单击虚拟键盘上的enter键时,焦点向下移动到下一个EditText-字段,这是我不希望发生的事情。我想提交我在第一个EditText-字段中所做的更改,然后关闭键盘。通过向.xml文件中添加以下内容,我成功地关闭了焦点转移: android:focusable="true" android:focusableInTouchMode="true&
EditText
-字段的RecyclerView
。当我尝试编辑其中一个EditText
-字段并单击虚拟键盘上的enter键时,焦点向下移动到下一个EditText
-字段,这是我不希望发生的事情。我想提交我在第一个EditText
-字段中所做的更改,然后关闭键盘。通过向.xml文件中添加以下内容,我成功地关闭了焦点转移:
android:focusable="true"
android:focusableInTouchMode="true"
但问题仍然存在,现在更改从未提交,因为我的侦听器从未被调用。如果我在我的RecyclerView
中删除除一个项目之外的所有项目,一切都会正常工作。我的RecyclerView
中也有更多的项目,如何才能做到这一点
Mybind
函数在MyUserCardItem.kt
文件中
override fun bind(viewHolder: ViewHolder, position: Int) {
...
viewHolder.itemView.creditcard_nickname.setOnEditorActionListener{ _, actionId, _ ->
if(actionId == EditorInfo.IME_ACTION_DONE){
saveNickname(viewHolder)
true
} else {
false
}
}
将
android:imeOptions=“actionDone”
添加到布局XML中的编辑文本中。能否添加侦听器的代码以及与提交功能相关的代码?@muddassirhmed我现在已经添加了相关的代码。谢谢你表现出兴趣你能试着把这个添加到你的编辑文本中吗<代码>android:imeOptions=“actionDone”酷。你能接受我的回答吗?不确定。不过,您可以通过一些代码来实现这一点。
private fun saveNickname(viewHolder : ViewHolder){
val nickname = viewHolder.itemView.creditcard_nickname.text.toString()
userCreditcard.nickname = nickname
UserCardStore().updateNickname(userCreditcard)
}