Why is my alert dialog crashing my app the second time it appears?
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}
I have an alert dialog that I'm calling when the user clicks the button with the correct answer for my game. The first time it is called the alert appears fine on the screen, however if the user gets the answer right a second time the app will crash and tell me "java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first."
//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()
}
I just want the alert to appear as many times as needed without crashing the app
android kotlin
add a comment |
I have an alert dialog that I'm calling when the user clicks the button with the correct answer for my game. The first time it is called the alert appears fine on the screen, however if the user gets the answer right a second time the app will crash and tell me "java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first."
//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()
}
I just want the alert to appear as many times as needed without crashing the app
android kotlin
1
Move your builder inside the click listener.
– dharms
Jan 4 at 4:18
what is in your updateUI method
– Dharak Bhatt
Jan 4 at 4:43
add a comment |
I have an alert dialog that I'm calling when the user clicks the button with the correct answer for my game. The first time it is called the alert appears fine on the screen, however if the user gets the answer right a second time the app will crash and tell me "java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first."
//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()
}
I just want the alert to appear as many times as needed without crashing the app
android kotlin
I have an alert dialog that I'm calling when the user clicks the button with the correct answer for my game. The first time it is called the alert appears fine on the screen, however if the user gets the answer right a second time the app will crash and tell me "java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first."
//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()
}
I just want the alert to appear as many times as needed without crashing the app
android kotlin
android kotlin
asked Jan 4 at 3:03
Ryan MoyeRyan Moye
31
31
1
Move your builder inside the click listener.
– dharms
Jan 4 at 4:18
what is in your updateUI method
– Dharak Bhatt
Jan 4 at 4:43
add a comment |
1
Move your builder inside the click listener.
– dharms
Jan 4 at 4:18
what is in your updateUI method
– Dharak Bhatt
Jan 4 at 4:43
1
1
Move your builder inside the click listener.
– dharms
Jan 4 at 4:18
Move your builder inside the click listener.
– dharms
Jan 4 at 4:18
what is in your updateUI method
– Dharak Bhatt
Jan 4 at 4:43
what is in your updateUI method
– Dharak Bhatt
Jan 4 at 4:43
add a comment |
1 Answer
1
active
oldest
votes
Your AlertDialog initialisation part is called only one time and your listener called every time you pressed that button . so it is causing that error.
You have to initialise your dialog every time you click on button. so solution would be .
//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()
}
You have solved my problem. Thank you very much sir.
– Ryan Moye
Jan 4 at 12:54
@RyanMoye i'm glad i helped you.
– NullPointerException
Jan 4 at 12:55
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54032622%2fwhy-is-my-alert-dialog-crashing-my-app-the-second-time-it-appears%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Your AlertDialog initialisation part is called only one time and your listener called every time you pressed that button . so it is causing that error.
You have to initialise your dialog every time you click on button. so solution would be .
//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()
}
You have solved my problem. Thank you very much sir.
– Ryan Moye
Jan 4 at 12:54
@RyanMoye i'm glad i helped you.
– NullPointerException
Jan 4 at 12:55
add a comment |
Your AlertDialog initialisation part is called only one time and your listener called every time you pressed that button . so it is causing that error.
You have to initialise your dialog every time you click on button. so solution would be .
//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()
}
You have solved my problem. Thank you very much sir.
– Ryan Moye
Jan 4 at 12:54
@RyanMoye i'm glad i helped you.
– NullPointerException
Jan 4 at 12:55
add a comment |
Your AlertDialog initialisation part is called only one time and your listener called every time you pressed that button . so it is causing that error.
You have to initialise your dialog every time you click on button. so solution would be .
//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()
}
Your AlertDialog initialisation part is called only one time and your listener called every time you pressed that button . so it is causing that error.
You have to initialise your dialog every time you click on button. so solution would be .
//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()
}
answered Jan 4 at 4:43
NullPointerExceptionNullPointerException
2,35311734
2,35311734
You have solved my problem. Thank you very much sir.
– Ryan Moye
Jan 4 at 12:54
@RyanMoye i'm glad i helped you.
– NullPointerException
Jan 4 at 12:55
add a comment |
You have solved my problem. Thank you very much sir.
– Ryan Moye
Jan 4 at 12:54
@RyanMoye i'm glad i helped you.
– NullPointerException
Jan 4 at 12:55
You have solved my problem. Thank you very much sir.
– Ryan Moye
Jan 4 at 12:54
You have solved my problem. Thank you very much sir.
– Ryan Moye
Jan 4 at 12:54
@RyanMoye i'm glad i helped you.
– NullPointerException
Jan 4 at 12:55
@RyanMoye i'm glad i helped you.
– NullPointerException
Jan 4 at 12:55
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54032622%2fwhy-is-my-alert-dialog-crashing-my-app-the-second-time-it-appears%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
Move your builder inside the click listener.
– dharms
Jan 4 at 4:18
what is in your updateUI method
– Dharak Bhatt
Jan 4 at 4:43