gpt4 book ai didi

android - 自定义对话框 - 您必须先对 child 的 parent 调用 removeView()

转载 作者:太空狗 更新时间:2023-10-29 14:12:42 24 4
gpt4 key购买 nike

我正在为我的项目使用自定义 AlertDialog,当我第二次尝试显示它时,它告诉我 java.lang.IllegalStateException: The specified child already has a parent.您必须先对 child 的 parent 调用 removeView()。

在我的 Activity 的 onCreate 中,我有:

infoDialog = new QustomDialogBuilder(this);
infoDialog.setTitle("Attenzione");
infoDialog.setTitleColor(Constants.ANTINORI_LIGHT);
infoDialog.setDividerColor(Constants.ANTINORI_LIGHT);
infoDialog.setNeutralButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});

稍后我将它用作 AsyncTask 的回复:

//DO STUFF
infoDialog.setMessage(loginResponse.getMessage());
infoDialog.show();

我第一次显示此 infoDialog 时它工作正常,但第二次它给了我 IllegalStateException

我在 StackOverflow 上阅读了很多其他帖子,但似乎没有人能解决我的问题。希望有人能帮助我。

最佳答案

你可以使用下面的函数,然后当你想显示警报时调用这个函数。

private void showDialog(String message) {
final Dialog dialog = new Dialog(CustomDialog.this);
dialog.setContentView(R.layout.custom_alert);
dialog.setTitle("Custom Dialog");
TextView text = (TextView) dialog.findViewById(R.id.textDialog);
text.setText(message);
ImageView image = (ImageView) dialog.findViewById(R.id.imageDialog);
dialog.show();
Button declineButton = (Button) dialog.findViewById(R.id.declineButton);
declineButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
}
});
}

并像这样调用此函数 showDialog(loginResponse.getMessage())

关于android - 自定义对话框 - 您必须先对 child 的 parent 调用 removeView(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25645404/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com