我有一个在以下代码中使用的光标。但我想在使用并且不再需要游标后将其关闭。问题是游标在 return 语句中使用,但我无法在 return 语句之后关闭它,因为这是无法访问的代码。它用在 return 语句中,所以我无法在该行上方关闭它。如何关闭光标?这与旧的 ManagedQuery 不同,我假设您必须关闭它。
public String getPath(Uri uri) {
String[] projection = { MediaStore.Audio.Media.DATA };
Cursor cursor = getContentResolver().query(uri, projection, null, null, null);
int column_index = cursor
.getColumnIndexOrThrow(MediaStore.Audio.Media.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
// cursor.close() <--- not possible because it is unreachable code after return
}
最佳答案
您可以将其分配给一个 String 对象,然后关闭光标并返回它。
cursor.moveToFirst();
String result = cursor.getString(column_index);
cursor.close();
return result;
关于android - 在哪里关闭光标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13837819/