用户未选择图像时出现错误,如何解决此问题

问题描述 投票:0回答:1

当用户未选择图像如何在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)...

android image validation kotlin uri
1个回答
0
投票
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")
        }
      }
    }
 }
}
© www.soinside.com 2019 - 2024. All rights reserved.