当EditText在ListView中时,使用selectAllOnFocus的奇怪行为

Gor*_*ski 5 java android focus android-listview android-edittext

这个问题一直困扰着我一段时间.我有一个列表视图,每行有三个EditText,用户可以在其中输入数据.当用户选择编辑框时,应该选择文本,因此当他键入第一个键时,将删除前一个文本.

这一切都与selectAllOnFocus选项设置为true完美配合.当我必须调用notifyDataSetChanged时会发生此问题.每行中都有一个删除行的按钮,即调用适配器的notifyDataSetChanged方法时.在此之后,当用户选择EditBox时,它不会选择整个文本,但是光标设置在文本的左侧,并且光标下方会显示一个箭头.

我尝试在代码和布局文件中设置selectAllOnFocus,但没有运气.

我该怎么办?我错过了什么吗?

我尝试禁用焦点改变事件,没有运气.

谢谢!

Gor*_*ski 0

由于每当我调用adapter.notifyDataSetChanged()时都会发生这种情况,我想我应该尝试绕过它。这就是我最终所做的:

adapter.clear();     
adapter = new AdapterOfWhateverItemsTypeIs(this, items);
listview.setAdapter(adapter);   
adapter.notifyDataSetChanged();
Run Code Online (Sandbox Code Playgroud)

之后,我得到了 EditText 的 selectAllOnFocus 选项的预期行为。