1

我有一个搜索区域(EditText),带有addTextChangedListener. 当输入出现时,方法中的 myAsyncTask启动afterTextChanged

  • onPreExecute方法中,显示带有“请稍候”消息的对话框。
  • doInBackground方法中,项目被过滤
  • onPostExecute方法中,过滤的项目被写入列表,然后“请稍候”对话框停止。

假设搜索区域中有一个6个字符的单词。当我按住软键盘上的退格键时,字符被一个一个快速删除。

但是在这里我收到错误IllegalStateException(适配器的内容已更改但 ListView 没有收到通知)。

虽然我notifyDataSetChanged使用postExecute.

我能做些什么来解决这个问题?

4

1 回答 1

0
 public boolean onKeyDown(int keyCode, KeyEvent event) {    

///forcontrol pressing backeSpace in editText(softKeyboard)

            if (keyCode == KeyEvent.KEYCODE_DEL) {

                parent.endsWith("");            

                return true;
            } 
}
于 2015-01-20T08:47:09.350 回答