如果在 Android 对话框中选择了相同的选项,如何不做任何事情?

How to do nothing if the same option is selected in an Android dialog?

我有以下对话框:

val alertDialog: AlertDialog.Builder = AlertDialog.Builder(context)
val options = arrayOf("Red", "Blue", "Green")
alertDialog.setTitle("Select a color")
alertDialog.setSingleChoiceItems(options, 1) { dialog, position ->
    logErrorMessage("position: " + position)
    dialog.dismiss()
}
val alert: AlertDialog = alertDialog.create()
alert.show()

当我将 1 传递给 setSingleChoiceItems 时,默认选择的值为“蓝色”。每次单击三个选项之一时,都会打印 position。有什么办法只有在更改选项后才能获取该日志语句?如果仍然选择相同的选项,那么我不想要日志语句?谢谢

假设您不更改默认选定值,只需进行条件检查以确保该位置不等于 1。如果它更动态,则存储当前位置并进行比较:

val alertDialog: AlertDialog.Builder = AlertDialog.Builder(context)
val options = arrayOf("Red", "Blue", "Green")
alertDialog.setTitle("Select a color")
alertDialog.setSingleChoiceItems(options, 1) { dialog, position ->
    if(position != 1) {
         logErrorMessage("position: " + position)
    }
    dialog.dismiss()
}
val alert: AlertDialog = alertDialog.create()
alert.show()