Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android “Kotlin材质设计”对话框“获取选定项”选项_Android_Kotlin_Material Design - Fatal编程技术网

Android “Kotlin材质设计”对话框“获取选定项”选项

Android “Kotlin材质设计”对话框“获取选定项”选项,android,kotlin,material-design,Android,Kotlin,Material Design,当我关闭对话框时,我需要获取选中的选项名称(文本),而不是位置,但它会继续返回项目位置 code pType.setOnClickListener{ val singleItems = arrayOf("Item 1", "Item 2", "Item 3") val checkedItem = 0 pType.text = null MaterialAlertDialogBuilder(this)

当我关闭对话框时,我需要获取选中的选项名称(文本),而不是位置,但它会继续返回项目位置

code

pType.setOnClickListener{
    val singleItems = arrayOf("Item 1", "Item 2", "Item 3")
    val checkedItem = 0

    pType.text = null
    MaterialAlertDialogBuilder(this)
        .setTitle(resources.getString(R.string.project_type))
        .setNeutralButton(resources.getString(R.string.cancel)) { dialog, which ->
            // Respond to neutral button press
        }
        .setPositiveButton(resources.getString(R.string.ok)) { dialog, which ->
            // Respond to positive button press
        }
        // Single-choice items (initialized with checked item)
        .setSingleChoiceItems(singleItems, checkedItem) { dialog, which ->
            // Respond to item chosen
            pType.setText(checkedItem.toString())
        }
        .show()
}
问题

  • 在对话框中单击“确定”时,如何获取选项文本
  • 通过使用
    val checkedItem=0
    无论我选择的选项始终
    选项0
    处于选中状态,我如何避免这种情况
  • 而不是:

    pType.setText(checkedItem.toString())
    
    尝试:


    这是正确的
    pType.setText(singleItems[which])
    @mafortis如果这对您有帮助,您应该将其标记为答案out@a_local_nobody这不是正确的答案为什么我要标记它?我甚至提供了正确的答案。他/她不想更新答案。为什么我会接受错误的答案?啊,你是对的,我认为这是正确的
    无论我选择了什么选项始终选择选项0
    除了第一次将其设为零之外,你永远不会给它分配其他值,所以它应该这样做。@a_local_nobody感谢没有显示如何分配其他值而不是0<代码>现在已经修好了没必要对它无礼。我只是说,如果您将某个东西声明为
    val
    ,它就不能更改,这就是
    val
    的要点。如果您想更改它,那么它可能应该是一个var,或者您应该在需要时从某个地方读取它
    pType.setText(singleItems[which])