我在对话框中有一个 ListView 和一个 EditText 来过滤我的 CustomerCodes 列表,我已经使用 TextWatcher 实现了我的过滤查询,并且在 onTextChanged() 中我已经用
Cursor FilteredCPCodeList = CustomerDBAdapter.instance.CursorFilteredCPCode(s.toString()); //Retrieve Filtered CustomerCodeList
CpListadapter.changeCursor(FilteredCPCodeList);
列表过滤与上面的代码完美结合,但是当我单击 ListItem 时,它是 OnItemClickListener ,它使用旧的 Cursor 导致异常,它告诉:
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 );
任何帮助将不胜感激,谢谢