kotilin:尝试在空对象引用上调用虚拟方法'java.lang.String android.content.Intent.getStringExtra(java.lang.String)'



我想揭示我通过 Intent 从活动传递到另一个活动并访问它的值,但它显示:

尝试在空对象引用上调用虚拟方法 'java.lang.String android.content.Intent.getStringExtra(java.lang.String('

所以在这里我做了什么...在登录活动中,我传递了用户名thourgh 意图:

val intent = Intent(this@LoginActivity,MainActivity::class.java)
intent.putExtra("username", "johnDoe")
startActivity(intent)

主要活动

class MainActivity : AppCompatActivity() {
val username = intent.getStringExtra("username")
private val firebaseHelper = FirebaseHelper(username)
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
Toast.makeText(applicationContext, username.toString(), Toast.LENGTH_LONG).show()
}
override fun onStop() {
super.onStop()
firebaseHelper.deleteDriver()
}
}

例如:如果我使用val username = intent.getStringExtra("username")它将起作用,但随后我会遇到firebaseHelper.deleteDriver()问题。

我不知道我在哪里错过了它,但希望有解决方案,你可以做家伙

您应该在onCreate方法中val username = intent.getStringExtra("username")调用此代码。

initailize

val username = intent.getStringExtra("username")

内部创建((

firebaseHelper.deleteDriver(( 执行时, 它将用户名获取为空。所以它正在抛出 NPE

相关内容

  • 没有找到相关文章

最新更新