ダイアログに ListView があり、CustomerCodes のリストをフィルター処理するための EditText があります。TextWatcher を使用してフィルター クエリを実装し、onTextChanged() で古い Cursor を次のように変更しました。
Cursor FilteredCPCodeList = CustomerDBAdapter.instance.CursorFilteredCPCode(s.toString()); //Retrieve Filtered CustomerCodeList
CpListadapter.changeCursor(FilteredCPCodeList);
リストフィルタリングは上記のコードで完璧に機能しますが、ListItemをクリックすると、古いカーソルを使用するOnItemClickListenerであり、次のことを伝える例外が発生します。
01-05 10:33:01.577: E/AndroidRuntime(5380): android.database.StaleDataException: Attempting to access a closed CursorWindow.Most probable cause: cursor is deactivated prior to calling this method.
カーソルを変更すると古いカーソルが閉じられることはわかっていますが、古いカーソル (または別のソリューション) で StopManagingCursor を使用してこの問題を解決する方法がわかりません。onTextChanged() でこのコードを試しましたが、そうではありませんどちらかで働く
Cursor OldCursor = CpListadapter.getCursor();
stopManagingCursor(OldCursor );
助けていただければ幸いです、ありがとう