android - 如何在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()
}
请告诉我该怎么办。谢谢你!
解决方案
我认为这是您想要实现的工作流程。
当用户单击删除按钮时,应用程序将显示一个确认对话框,其格式为:
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()
}
推荐阅读
- python - 以下 Python 类是否演示了以下内容?
- c - 简单的乘法,但编译器需要一分钟以上才能产生答案
- java - 通过用一维数组初始化二维数组的每一行,将一维数组添加到二维数组
- angular - 水平滚动的 p-splitter & p-table
- google-sheets - 我可以使用谷歌表格公式直接提取推文的内容吗?
- f# - 映射到没有模式匹配的 Union Case 构造函数
- jquery - 使用 $.fn.extend() 与简单赋值
- javascript - 'first_time_accessed' Shopify 液体变量始终为 false
- python - 如何处理类方法中的异常?
- amazon-web-services - 如何在不保留并发的情况下设置 lambda 最大并发?