小编Seb*_*iuk的帖子

java.lang.IllegalStateException:您必须设置文本或视图

我是 android 新手,在单击处理数据库请求的按钮时不断收到此错误。我不知道发生了什么事,因为昨天一切正常,我根本没有做任何更改。

错误日志:

E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.myapplication, PID: 7510
java.lang.IllegalStateException: You must either set a text or a view
    at com.android.internal.util.Preconditions.checkState(Preconditions.java:173)
    at android.widget.Toast.show(Toast.java:188)
    at com.example.myapplication.LoginActivity$userLogin$stringRequest$3.onErrorResponse(LoginActivity.kt:106)
    at com.android.volley.Request.deliverError(Request.java:617)
    at com.android.volley.ExecutorDelivery$ResponseDeliveryRunnable.run(ExecutorDelivery.java:104)
    at android.os.Handler.handleCallback(Handler.java:938)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:223)
    at android.app.ActivityThread.main(ActivityThread.java:7656)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Run Code Online (Sandbox Code Playgroud)

代码错误日志指的是:

private fun userLogin() {
        val email: String = emailText.text.toString().trim()
        val password: String = passwordText.text.toString().trim()

        val stringRequest = object : StringRequest(
                Method.POST, URL_LOGIN,
                Response.Listener<String> { response ->
                    try {
                        val obj = JSONObject(response) …
Run Code Online (Sandbox Code Playgroud)

java android kotlin

9
推荐指数
2
解决办法
2万
查看次数

Android获取文件名的方法

所以基本上我有这个应用程序,我可以在其中打开文件选择器,并且我想将文件名放入特定的框中。

但结果我得到这个字符串文档:39

我想使用的文件是 pdf,它被称为TestBook,这就是我想要显示的内容

我是这样启动文件选择器的:

fun showFileChooser(activity: Activity)
{
        val filesIntent = Intent(Intent.ACTION_GET_CONTENT, MediaStore.Downloads.EXTERNAL_CONTENT_URI)

        activity.startActivityForResult(filesIntent, PICK_PDF_REQUEST_CODE)
}
Run Code Online (Sandbox Code Playgroud)

然后单击按钮

R.id.iv_add_file ->{
          if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE)  == PackageManager.PERMISSION_GRANTED)
          {
            showFileChooser(this@AddBookActivity)
          }
          else
          {
            ActivityCompat.requestPermissions(this,arrayOf(Manifest.permission.READ_EXTERNAL_STORAGE),
                            Constants.READ_STORAGE_PERMISSION_CODE)
          }
}
Run Code Online (Sandbox Code Playgroud)

和最后一个 onActivityResult

if (requestCode == Constants.PICK_PDF_REQUEST_CODE)
{
   if (data != null)
   {
      mSelectedFileUri = data.data!!

      val filename = File(mSelectedFileUri!!.path).name
      et_book_file.setText(filename)

   }
}
Run Code Online (Sandbox Code Playgroud)

Et_book_file 是一个 EditText,正如我在开头提到的,它显示字符串document:39

我尝试使用 jpg 等其他文件,但它只显示字符串image:40

对此有什么明显的解决方案吗?任何帮助将不胜感激。

android kotlin

1
推荐指数
1
解决办法
3697
查看次数

标签 统计

android ×2

kotlin ×2

java ×1