显示和关闭自定义对话框时,活动中的Kotlin综合视图将为空

时间:2019-02-13 11:03:45

标签: android kotlin kotlin-extension

我正在更新活动的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扩展程序,但无法理解原因。帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

在另一个范围内,请尝试在视图中添加显式scrope,即

this@YourActivity.tvContactNumber.text = number