[英]Error caused by pressing backspace button on the soft keyboard for too long
我有一个具有addTextChangedListener
的搜索区域(EditText)。 输入输入后,位于afterTextChanged
方法中的AsyncTask
afterTextChanged
启动。
onPreExecute
方法中,显示带有“请稍候”消息的对话框。 doInBackground
方法中,将过滤项目 onPostExecute
方法中,将过滤的项目写入列表,此后将停止“请稍候”对话框。 假设在搜索区域中有一个包含6个字符的单词。 当我按住软键盘上的退格按钮时,字符将被迅速地一一删除。
但是在这里,我得到了错误IllegalStateException
(适配器的内容已更改,但ListView没有收到通知)。
虽然我用的是notifyDataSetChanged
的方法postExecute
。
我该怎么做才能解决此问题?
public boolean onKeyDown(int keyCode, KeyEvent event) {
///forcontrol pressing backeSpace in editText(softKeyboard)
if (keyCode == KeyEvent.KEYCODE_DEL) {
parent.endsWith("");
return true;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.