我是 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) 所以基本上我有这个应用程序,我可以在其中打开文件选择器,并且我想将文件名放入特定的框中。
但结果我得到这个字符串文档: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
对此有什么明显的解决方案吗?任何帮助将不胜感激。