【android】使用CursorAdapter注意事项

项目中用到了CursorAdapter,总结如下:

有时候会报这样的错误。比如在tab中有一个activity使用了CursorAdapter,点击tab,停顿会出现这样的异常:java.lang.IllegalStateException: trying to requery an already closed cursor

经过分析。由activity在通过query获取了Cursor之后用startManagingCursor来管理Cursor的生命周期就不会出现这样的异常;

但是在之后的测试中发现,在Build.VERSION.SDK_INT ==11或者以上的版本还会出现这样的错误。只好在Build.VERSION.SDK_INT >=11的版本不管理游标,测试没有问题。

处理如下:

 @Override
 public void startManagingCursor(Cursor c) {

  // To solve the following error for honeycomb:
  // java.lang.RuntimeException: Unable to resume activity
  // java.lang.IllegalStateException: trying to requery an already closed
  // cursor
  if (Build.VERSION.SDK_INT < ***Static.VERSON_C) {
   super.startManagingCursor(c);
  }
 }

 

 

你可能感兴趣的:(c,android,测试,query)