如何在 AlertDialog 中的 positiveButton 上设置 OnClickListener?

How to setOnClickListener on a positiveButton in AlertDialog?

我创建了带有 EditText 的 alertDialog,用户可以在其中输入评论和显示 Toast 的 positiveButton。

我希望将评论保存在 SharedPreferences 中。

如何在肯定按钮上添加 setOnClickListener?

谢谢!

警报对话框如下所示:

有趣的 addNote(查看:查看){

    val positiveButtonClick = { dialog: DialogInterface, which: Int ->
        Toast.makeText(this, "Comment saved", Toast.LENGTH_SHORT).show()}
    
    val negativeButtonClick = { dialog: DialogInterface, which: Int ->}

    val builder = AlertDialog.Builder(this)
    val inflater =layoutInflater
    val dialogLayout = inflater.inflate(R.layout.comment_edit_text, null)


    with(builder)
    {
        setMessage("Comment")
        setView(dialogLayout)
        setPositiveButton("CONFIRM",DialogInterface.OnClickListener(positiveButtonClick))
        setNegativeButton("CANCEL", DialogInterface.OnClickListener(negativeButtonClick))
        show()
    }
}

请在将问题发布到堆栈溢出之前对您的问题进行一些研究,您可以这样做。

setPositiveButton("CONFIRM"){ dialog, which -> 
  //Do your post event work here
} 

示例代码在这里https://www.journaldev.com/309/android-alert-dialog-using-kotlin

我正在根据您在下面的评论编辑我的答案: 替换所有这些:

val builder = AlertDialog.Builder(this)
val inflater =layoutInflater
val dialogLayout = inflater.inflate(R.layout.comment_edit_text, null)


with(builder)
{
    setMessage("Comment")
    setView(dialogLayout)
    setPositiveButton("CONFIRM",DialogInterface.OnClickListener(positiveButtonClick))
    setNegativeButton("CANCEL", DialogInterface.OnClickListener(negativeButtonClick))
    show()
}

有了这个:

    val dialogLayout = LayoutInflater.from(this).inflate(R.layout.comment_edit_text, null)

    val builder = AlertDialog.Builder(this)
        .setView(dialogLayout)
        .show()
    
    builder.myButton.setOnClickListener { 
        
    }
    builder.setOnDismissListener { 
        
    }

“myButton”是您的按钮在 comment_edit_text 布局中的 ID。

至于消息和标题 ans 内容,只需转到您的 comment_edit_text 布局并为您的消息添加 textViews 和内容并使其美观。它将全部膨胀到您的 AlertDialog 中。