我正在更新活动的onCreate方法中的视图,如下所示,使用kotlin扩展可以正常工作。
活动的 onCreate
onchange(getValue.this)
然后单击按钮,我将显示一个自定义对话框,以执行某些操作。在关闭对话框时,我会使用从对话框发送的数据来更新活动中的同一 textView ,但视图 tvContact 会引发空异常。 / p>
活动的 onClick
import kotlinx.android.synthetic.main.activity_otpverification.*
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_otpverification)
tvContactNumber.text = getString(R.string.dual_string_value_placeholder)
}
onSubmitClicked 是对话框中的一种抽象方法,该方法在关闭对话框时触发。
logcat错误:
override fun onClick(p0: View?) {
when (p0?.id) {
R.id.ivEdit -> {
object : ChangeNumberDialog(this) {
override fun onSubmitClicked(number: String) {
tvContactNumber.text =number
}
}.show()
}
}
}
onCreate 和 onClick 方法来自 ChangeNumberDialog :
java.lang.IllegalStateException: tvContactNumber must not be null
at com.beat.em.ui.activities.OTPVerificationActivity$onClick$1.onSubmitClicked
(OTPVerificationActivity.kt:211)
我刚刚开始使用kotlin扩展程序,但无法理解原因。帮助表示赞赏。
答案 0 :(得分:1)
在另一个范围内,请尝试在视图中添加显式scrope,即
this@YourActivity.tvContactNumber.text = number