когда я нажимаю на кнопку вложения, он показывает только заголовок диалогового окна предупреждения. Так как показать опцию в диалоговом окне предупреждения - PullRequest
0 голосов
/ 07 марта 2020

Это приложение чата, я хочу отобразить параметры, когда пользователь нажимает кнопку вложения и выбирает один вариант, например, если он хочет отправить изображение, видео или файл документов другому пользователю. как этот снимок экрана

Но я ошибаюсь, когда я нажимаю на кнопку вложения, он показывает мне только заголовок диалогового окна предупреждения. как этот скриншот

Это мой код кнопки прикрепления, есть кое-что, что я пропустил или ....

        attachment.setOnClickListener {
        val option: Charsequence = Charsequence("Images" , "Videos" , "File Documents")
        val itemList = arrayOf("Images","Videos","File Documents")
        val builder = AlertDialog.Builder(this@ChatLogActivity)
        val title = builder.setTitle("Select The File")
        builder.setItems( itemList.toString() ,
            onClickListener = DialogInterface.OnClickListener { dialogInterface , i ->
                if (i == 0){
                    checker = "Images"
                    val intent = Intent(Intent.ACTION_GET_CONTENT)
                    intent.type = "image/*"
                    startActivityForResult(Intent.createChooser(intent, "Select Image"),438)
                }

                if (i == 1){
                    checker = "Videos"
                    val intent = Intent(Intent.ACTION_GET_CONTENT)
                    intent.type = "video/*"
                    startActivityForResult(Intent.createChooser(intent, "Select Video"),439)
                }

                if (i == 2){
                    checker = "File Documents"
                    val intent = Intent(Intent.ACTION_GET_CONTENT)
                    intent.type = "application/pdf"
                    startActivityForResult(Intent.createChooser(intent, "Select File Documents"),440)
                }
            })
        builder.show()
    }

1 Ответ

0 голосов
/ 07 марта 2020

Вам необходимо установить адаптер массива следующим образом.

val builder = AlertDialog.Builder(this@ChatLogActivity)

val arrayAdapter = ArrayAdapter<String>(
    this,
    android.R.layout.select_dialog_singlechoice)
    arrayAdapter.add("Images")
    arrayAdapter.add("Videos")
    arrayAdapter.add("Documents")

builder.setTitle("Select One Option")

builder.setAdapter( arrayAdapter
    ) { _, i ->
        if (i == 0){
            checker = "Images"
            val intent = Intent(Intent.ACTION_GET_CONTENT)
            intent.type = "image/*"
            startActivityForResult(Intent.createChooser(intent, "Select Image"),438)
        }

        if (i == 1){
            checker = "Videos"
            val intent = Intent(Intent.ACTION_GET_CONTENT)
            intent.type = "video/*"
            startActivityForResult(Intent.createChooser(intent, "Select Video"),439)
        }

        if (i == 2){
            checker = "File Documents"
            val intent = Intent(Intent.ACTION_GET_CONTENT)
            intent.type = "application/pdf"
            startActivityForResult(Intent.createChooser(intent, "Select File Documents"),440)
        }
    }
builder.show()

view

...