当用户未选择图像如何在Kotlin中检查图像验证时出现错误,>
fun getPath(uri: Uri): String? { var cursor = contentResolver.query(uri, null, null, null, null) if (cursor != null) { cursor!!.moveToFirst() var document_id = cursor.getString(0) document_id = document_id.substring(document_id.lastIndexOf(":") + 1) cursor.close() cursor = contentResolver.query( android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI, null, MediaStore.Images.Media._ID + " = ? ", arrayOf(document_id), null ) } cursor!!.moveToFirst() var path = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DATA)) cursor.close() if (path == null) { path = "" } return path }
这里是活动结果代码
public override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult(requestCode, resultCode, data) if (resultCode == Activity.RESULT_OK) { if (requestCode == SELECT_PICTURE) { val selectedImageUri = data!!.data selecteImageUri = Uri.parse(selectedImageUri.toString()) if (selecteImageUri != null) { val filePath = getPath(selecteImageUri) binding.imageAddButton.text = filePath } else { AppLogger.toast("Please Select an Image") } } } }
如果用户没有从图库中选择图像,这是我的意图功能,我需要实现验证
R.id.imageAddButton -> { val intent = Intent() intent.type = "image/*" intent.action = Intent.ACTION_GET_CONTENT startActivityForResult( Intent.createChooser( intent, "Select Picture" ), SELECT_PICTURE ) }
我总是在这里出现错误
cursor!!.moveToFirst()
如何解决此问题,请提前帮助我,谢谢,我会很感激每个答案
我在用户未选择Images的情况下出现错误,如何在kotlin上检查图像验证getPath(uri:Uri):String? {var cursor = contentResolver.query(uri,null,null,null,null)...
public override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (resultCode == Activity.RESULT_OK) {
if (requestCode == SELECT_PICTURE) {
if (data != null) {
val selectedImageUri = data!!.data
selecteImageUri = Uri.parse(selectedImageUri.toString())
if (selecteImageUri != null) {
val filePath = getPath(selecteImageUri)
binding.imageAddButton.text = filePath
}
else {
AppLogger.toast("Please Select an Image")
}
}
}
}
}