使用 Kotlin 在片段中创建 AlertDialog

And*_*Dev 5 android kotlin

在我的 Android 应用程序中,我有一个观察者,在回调中我想显示一个 AlertDialog。然而,Builder 方法需要一个上下文。我需要获取片段所在活动的上下文,但不确定如何获取它:

viewModel.onError.observe(this, Observer {
    val mAlertDialog = AlertDialog.Builder(activity) // This needs the activity's context
    mAlertDialog.setMessage(it.toString())
    mAlertDialog.show()
})
Run Code Online (Sandbox Code Playgroud)

Int*_*iya 15

你应该通过activity!!Fragment。

val dialogBuilder = AlertDialog.Builder(activity!!)
        dialogBuilder.setMessage(it.toString())
                // if the dialog is cancelable
                .setCancelable(false)
                .setPositiveButton("Ok", DialogInterface.OnClickListener {
                    dialog, id ->
                    dialog.dismiss()

                })

        val alert = dialogBuilder.create()
        alert.setTitle("Test")
        alert.show()
Run Code Online (Sandbox Code Playgroud)