Разметка инфлатера с помощью DialogFragment - PullRequest
0 голосов
/ 03 декабря 2018

Я пытаюсь надуть свой пользовательский макет (фрагмент диалога).

У меня есть это в моей функции showDialog ()

    val inflatedView = layoutInflater.inflate(R.layout.alerts_dialog_remi, null)

    mydialog = Dialog(this, R.style.DialogCustomTheme)
    mydialog.requestWindowFeature(Window.FEATURE_NO_TITLE)
    mydialog.setContentView(R.layout.alerts_dialog_remi)
    mydialog.setOnShowListener {
        val text = inflatedView.findViewById<TextView>(R.id.alerte_title)
        val lp = LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT)
        text.setText("Text")}

        mydialog.create()

        txt = mydialog.findViewById(R.id.close_modal_alerte)
        txt.isEnabled = true
        txt.setOnClickListener{
            mydialog.cancel()
        }
        mydialog.show()
    }

Но я не вижу строку "Текст" в моем фрагменте диалога.Я попытался поместить inflatedView внутри setOnShowListener, но он тоже ничего не делает.

1 Ответ

0 голосов
/ 03 декабря 2018

Вам не нужно раздувать ваш взгляд, потому что dialog.setContentView делает именно это для вас.

Вам нужно получить раздутый вид изнутри вашей лямбды.

Как это:

 mydialog.setOnShowListener {
    val text = it.view.findViewById<TextView>(R.id.alerte_title)
...