Почему в моем диалоговом окне с предупреждением происходит сбой приложения во второй раз, когда оно появляется? - PullRequest
0 голосов
/ 04 января 2019

У меня появляется диалоговое окно с предупреждением, когда пользователь нажимает кнопку с правильным ответом для моей игры.При первом вызове оповещения на экране все в порядке, однако, если пользователь получит правильный ответ во второй раз, приложение выйдет из строя и сообщит мне «java.lang.IllegalStateException: указанный дочерний элемент уже имеет родителя. Вы должны вызватьСначала удалитеViewView () на родительском объекте ребенка. "

//this is my alert
val builder = AlertDialog.Builder(this)
builder.setView(layoutInflater.inflate(R.layout.alert_layout, null))

//this is the button being clicked
btnClickMe1.setOnClickListener {
        if (correctAnswer == 1) {
            score++
            updateUI()
            builder.show()
        }
        updateUI()
    }

Я просто хочу, чтобы предупреждение появлялось столько раз, сколько необходимо, без сбоя приложения

1 Ответ

0 голосов
/ 04 января 2019

Ваша часть инициализации AlertDialog вызывается только один раз, и ваш слушатель вызывается каждый раз, когда вы нажимаете эту кнопку.так что это вызывает эту ошибку.

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

//this is the button being clicked
btnClickMe1.setOnClickListener {
        if (correctAnswer == 1) {
            val builder = AlertDialog.Builder(this)
            builder.setView(layoutInflater.inflate(R.layout.alert_layout, null))

            score++
            updateUI()
            builder.show()
        }
        updateUI()
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...