使用后如何正确关闭Kotlin中的光标。我知道如何在Java中执行此操作,但不管我在Kotlin中执行什么操作,它仍然会警告您关闭它。
我尝试过:
val cursor = context!!.getContentResolver().query(DbProvider.CONTENT_URI_VERSES, null, where, null, null)!!
if (cursor.moveToFirst()) {
try {
arabicTextTV.text = cursor.getString(cursor.getColumnIndex(DbHelper.COL_ARABIC1))
} finally {
cursor.close()
}
}
和现代方式:
val cursor = context!!.getContentResolver().query(DbProvider.CONTENT_URI_VERSES, null, where, null, null)!!
if (cursor.moveToFirst()) {
cursor.use {
arabicTextTV.text = cursor.getString(cursor.getColumnIndex(DbHelper.COL_ARABIC1))
}
}
答案 0 :(得分:4)
context?.contentResolver?.query(DbProvider.CONTENT_URI_VERSES, null, where, null, null)
?.use {
if (it.moveToFirst()) {
arabicTextTV.text = it.getString(it.getColumnIndex(DbHelper.COL_ARABIC1))
}
}
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.io/use.html