[英]Why is my alert dialog crashing my app the second time it appears?
當用戶單擊具有正確游戲答案的按鈕時,我將調用一個警報對話框。 第一次調用該警報時,屏幕上的警報就很好顯示,但是,如果用戶第二次獲得正確的答案,則應用程序將崩潰並告訴我“ java.lang.IllegalStateException:指定的孩子已經有一個父母。您必須調用首先在孩子的父級上刪除。”
//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()
}
我只希望警報根據需要顯示多次,而不會導致應用崩潰
您的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()
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.