首页 > 解决方案 > 如何在kotlin中设置确认删除AlertDialogue框

问题描述

我已经按照旧教程构建了一个笔记应用程序。我想设置 AlertDialogue 框来确认用户是否真的想删除笔记。

这就是我关闭应用程序的操作

 override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View {
            //inflate layout row.xml
            var myView = layoutInflater.inflate(R.layout.row, null)
            val myNote = listNotesAdapter[position]
            myView.titleTv.text = myNote.nodeName
            myView.descTv.text = myNote.nodeDes
            //delete button click
            myView.deleteBtn.setOnClickListener {
                var dbManager = DbManager(this.context!!)
                val selectionArgs = arrayOf(myNote.nodeID.toString())
                dbManager.delete("ID=?", selectionArgs)
                LoadQuery("%")

                val builder = AlertDialog.Builder(this@MainActivity)
                builder.setMessage("Are you sure you want to Delete?")
                    .setCancelable(false)
                    .setPositiveButton(
                        "Yes",
                        DialogInterface.OnClickListener { dialog, id -> this@MainActivity.finish() })
                    .setNegativeButton("No", DialogInterface.OnClickListener { dialog, id -> dialog.cancel() })
                val alert = builder.create()
                alert.show()
            }

请告诉我该怎么办。谢谢你!

标签: androidkotlin

解决方案


我认为这是您想要实现的工作流程。

当用户单击删除按钮时,应用程序将显示一个确认对话框,其格式为:

Message: Are you sure you want to Delete?
Action buttons: Yes, No

Yes: Delete the selected note from database
No: Dismiss the dialog

这是代码

myView.deleteBtn.setOnClickListener {
    val builder = AlertDialog.Builder(this@MainActivity)
    builder.setMessage("Are you sure you want to Delete?")
        .setCancelable(false)
        .setPositiveButton("Yes") { dialog, id ->
            // Delete selected note from database
            var dbManager = DbManager(this.context!!)
            val selectionArgs = arrayOf(myNote.nodeID.toString())
            dbManager.delete("ID=?", selectionArgs)
            LoadQuery("%")
        }
        .setNegativeButton("No") { dialog, id ->
            // Dismiss the dialog
            dialog.dismiss()
        }
    val alert = builder.create()
    alert.show()
}

推荐阅读