android-如何通过addTextChangedListener知道文本如何更改

android-如何通过addTextChangedListener知道文本如何更改,第1张

概述我有一个带有EditText和ListView的屏幕.当您键入EditText时,将启动AsyncTask(取消并扔掉任何现有的AsyncTask)以在本地查询一些要在ListView中显示的数据.如果EditText没有文本,将查询并显示所有数据.本质上,EditText是屏幕上数据的过滤器.这很容易做到.在addTextChangedListener中

我有一个带有EditText和ListVIEw的屏幕.当您键入EditText时,将启动AsyncTask(取消并扔掉任何现有的AsyncTask)以在本地查询一些要在ListVIEw中显示的数据.如果EditText没有文本,将查询并显示所有数据.本质上,EditText是屏幕上数据的过滤器.这很容易做到.在addTextChangedListener中,只需取消先前的AsyncTask,启动一个新的AsyncTask,然后将其传递给s.toString().

当用户点击退格键以删除EditText中的某些文本时,我希望使用默认行为(所有数​​据填充列表).这适用于我当前的addTextChangedListener实现.

但是,我在EditText的右侧也有一个X按钮.这是为了清除EditText(EditText.setText(“”);).这是特例.在这种情况下,我不希望查询发生.问题是,addTextChangedListener似乎不够聪明,无法知道这一点.因为文本已更改并且查询了所有数据,所以它被触发.

我该如何预防?

解决方法:

使用布尔值ignoreNextTextChangeKThxBye数据成员,适当地设置/清除该布尔值,并使用if()语句避免执行查询.

总结

以上是内存溢出为你收集整理的android-如何通过addTextChangedListener知道文本如何更改全部内容,希望文章能够帮你解决android-如何通过addTextChangedListener知道文本如何更改所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1093667.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存