gpt4 book ai didi

android - 尝试从 Kotlin 中的另一个 Activity 访问 EditText 时出现空指针异常

转载 作者:行者123 更新时间:2023-11-29 14:43:12 24 4
gpt4 key购买 nike

编辑:通过使用 startActivityForResult()

解决

在 Kotlin 中,我试图从条形码扫描 Activity 的 HandleResult 方法中设置我主要 Activity 的 EditText 的内容,但我得到了一个 NPE。我读过https://kotlinlang.org/docs/tutorials/android-plugin.html

这是扫码 Activity

import kotlinx.android.synthetic.main.activity_main.*

...

override fun handleResult(rawResult: Result) {
Toast.makeText(this, "Contents = " + rawResult.text +
", Format = " + rawResult.barcodeFormat.toString(), Toast.LENGTH_SHORT).show()
doAsync {
val url = "https://www.amazon.com/s/field-keywords=${rawResult.text}"
val dom = Jsoup.connect(url).get()
val title = dom.select("h2[class^=a-size-medium]")
onComplete {
txt_keyword.setText(title[0].text()) // <--- NPE crash
onBackPressed()
}
}

我得到的崩溃是

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.EditText.setText(java.lang.CharSequence)' on a null object reference
at <mypackagename>.ScanActivity$handleResult$1$1.invoke(ScanActivity.kt:56)
at <mypackagename>.ScanActivity$handleResult$1$1.invoke(ScanActivity.kt:20)
at org.jetbrains.anko.AsyncKt$onComplete$1.run(Async.kt:57)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6940)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)

当在 “txt_keyword” 上按 Ctrl+Enter 时,我会跳转到 activity_main.xml 的相关部分!

最佳答案

在 android 中,你不应该从另一个 Activity 访问一个 Activity 的内容,你应该做的是在主 Activity 中有 handleResult() 方法并使用 startActivityForResult()启动条码 Activity ,然后处理主 Activity 的结果,或者您可以通过 Intent with a Bundle 将编辑文本的内容从主 Activity 传递到条码 Activity 。然后在 BarCode Activity 中处理结果。

关于android - 尝试从 Kotlin 中的另一个 Activity 访问 EditText 时出现空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52766035/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com