Android Kotlin中的自定义对话框?

Android Kotlin中的自定义对话框?,android,kotlin,Android,Kotlin,我想在点击btnStart按钮后关闭一个对话框。我不想在对话框上应用正负按钮 val context = this val builder = AlertDialog.Builder(context) // Seems ok to inflate view with null rootView val view = layoutInflater.inflate(R.layout.activity_dialog, null) bu

我想在点击btnStart按钮后关闭一个对话框。我不想在对话框上应用正负按钮

  val context = this
        val builder = AlertDialog.Builder(context)
        // Seems ok to inflate view with null rootView
        val view = layoutInflater.inflate(R.layout.activity_dialog, null)
        builder.setView(view)
        val btnStart=view.findViewById(R.id.btn_start_progress_dialog) as Button

        btnStart.setOnClickListener(View.OnClickListener {
          /*
          * I want close dialog box from here.
          *
          * */

        })


        builder.setNegativeButton(android.R.string.cancel) { dialog, p1 ->
            dialog.cancel()
        }



        builder.show()

如果要隐藏它,只需将其设置为
null

builder.setPositiveButton(null,null)
builder.setNegativeButton(null,null)

如果要隐藏它,只需将其设置为
null

builder.setPositiveButton(null,null)
builder.setNegativeButton(null,null)

在显示对话框之前,需要使用
create
获取对话框引用。这样就很容易将解雇通知附在一起:

// first create the dialog
val dialog = AlertDialog.Builder(context)
        .setView(view)
        .create()
// now we have a reference to dismiss it
btnStart.setOnClickListener {
    dialog.dismiss()
}
dialog.show()

在显示对话框之前,需要使用
create
获取对话框引用。这样就很容易将解雇通知附在一起:

// first create the dialog
val dialog = AlertDialog.Builder(context)
        .setView(view)
        .create()
// now we have a reference to dismiss it
btnStart.setOnClickListener {
    dialog.dismiss()
}
dialog.show()

Kotlin中的缩进是至关重要的(我从不在代码中保留生成器引用)。如果您不想在生成器调用中使用一行代码并希望使用引用,则可以使用
Builder.create()
来获取dialog.val对话框:AlertDialog=Builder.create()btnStart.setOnClickListener(View.OnClickListener{/**我想从这里关闭对话框。***/dialog.disease()})我尝试过这个,但它不起作用。您是否用
dialog.show()
替换了最后一行,或者用
builder创建了另一个没有侦听器的对话框。show()
Kotlin中的缩进至关重要(我从不在代码中保留生成器引用)。如果您不想在生成器调用中只保留一行,而想使用引用,则可以使用
builder.create()
获取dialog.val对话框:AlertDialog=builder.create()btnStart.setOnClickListener(View.OnClickListener{/**我想从这里关闭对话框。***/dialog.disease()})我试过这个,但不起作用。您是否用
dialog.show()
替换了最后一行,或者用
builder.show()创建了另一个没有侦听器的对话框btnStart.setOnClickListener(View.OnClickListener{/**我想从这里关闭对话框。***/ad.disease()})现在可以为我工作了。val ad:AlertDialog=builder.show()btnStart.setOnClickListener(View.OnClickListener{/**我想从这里关闭对话框。***/ad.disclose()})现在它对我有用了。