原因:java.lang.IllegalStateException:TextView不能为null

时间:2019-12-08 09:26:12

标签: android kotlin

我正在尝试从文件管理器获取文件的文件路径,并在文本视图中显示该文件路径。我能够打开文件管理器,但是当我设置文本时,我得到了java.lang.IllegalStateException: textview must not be null

这是从对话框打开文件管理器的代码

 private fun openCSVUploadDialog(){
        val uploadCsv = Dialog(requireActivity(), R.style.FullScreenDialogStyle)
        uploadCsv.requestWindowFeature(Window.FEATURE_NO_TITLE)
        uploadCsv.setContentView(R.layout.csv_upload_dialog)
        uploadCsv.window!!.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
        uploadCsv.show()

        uploadCsv.tvUpload.setOnClickListener {
            val intent = Intent(Intent.ACTION_GET_CONTENT)
                    .setType("*/*")
            startActivityForResult(intent,UPLOAD_FILE_CODE)
        }

        uploadCsv.btnUpload.setOnClickListener {
            uploadCsv.dismiss()
        }
    }

我在哪里是设置文本的文件路径

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {

        when(requestCode){
            UPLOAD_FILE_CODE -> {
                if (resultCode == RESULT_OK){
                    val path = data!!.data!!.path
                    csvFilePath.text = path
                }
            }
        }
    }

csvFilePath是我的文本视图

1 个答案:

答案 0 :(得分:0)

此代码写在哪里?片段或活动或某些实用程序类?

如果是片段, 在onCreateView中使用findViewById初始化csvFilePath

如果活动, 在OnCreate中做同样的事情

如果还有其他类,请将结果发布到活动并更新UI