1

が付いた検索領域(EditText)がありaddTextChangedListenerます。入力が来るとAsyncTask、メソッドにあるmyafterTextChangedが起動します。

  • メソッドではonPreExecute、「お待ちください」というメッセージのダイアログが表示されます。
  • メソッドではdoInBackground、アイテムはフィルタリングされます
  • メソッドではonPostExecute、フィルタリングされたアイテムがリストに書き込まれ、その後、「お待ちください」ダイアログが停止します。

検索領域に6文字の単語があるとします。ソフトキーボードのバックスペースボタンを押し続けると、文字が1つずつすばやく削除されます。

しかし、ここでエラーが発生します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 に答える