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

标签 android android-dialog illegalstateexception customdialog

我正在为我的项目使用自定义 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/

相关文章:

android - 模块包含 : not intended for consumption by other components - gradle:3. 0.0-alpha2

android - 如何在我的自定义对话框上显示进度对话框?

Android:更改 TimePickerDialog 选择器(圆圈)背景颜色

android - Dialog 在膨胀之前从 Activity 中删除 fragment

android - 单击按钮时获取 IllegalStateException

android - java.lang.IllegalStateException : YouTubeServiceEntity not initialized with YouTubeThumbnailView 错误

android - 识别用户上传的 Firebase 存储

android - 在整个 Activity 生命周期内保持数字键盘打开

android - 为什么 Android TextView 在单词开头错误地用点包裹文本(如文件扩展名)?

java - Android Java IllegalStateException : Could not execute method of the activity