按下软键盘上的退格键太长会导致错误

时间:2012-05-04 16:27:00

标签: android android-edittext

我有addTextChangedListener的搜索区域(EditText)。当输入到来时,AsyncTask方法中的afterTextChanged启动。

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

假设搜索区域中有一个包含6个字符的单词。当我按住软键盘上的退格按钮时,会逐个删除字符。

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

虽然我在notifyDataSetChanged中使用postExecute方法。

我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:0)

 public boolean onKeyDown(int keyCode, KeyEvent event) {    

///forcontrol pressing backeSpace in editText(softKeyboard)

            if (keyCode == KeyEvent.KEYCODE_DEL) {

                parent.endsWith("");            

                return true;
            } 
}