ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Android AlertDialog指定的子级已有父Exception

2019-06-10 03:16:38  阅读:158  来源: 互联网

标签:android android-alertdialog


我的应用程序上有一个AlertDialog的问题.我正在显示一个AlertDialog,因此用户可以更改他刚刚按下的按钮的文本.当我第一次这样做时没有问题,但是如果我再次按下按钮,我的应用程序会崩溃并出现标题中的异常.这是我正在使用的代码:

public void createDialog(){
     new AlertDialog.Builder(Settings.this)
    .setTitle("Stampii Server Name")
    .setView(input)
    .setPositiveButton("Set Name", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
            String serverName = input.getText().toString();
            server.setText(serverName);
        }
    })
    .setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
            dialog.cancel();
        }
    }).show();
}


server.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        createDialog();
    }
});

任何想法如何解决这个问题?我看过类似的问题,但找不到合适的解决方案.

提前致谢!

解决方法:

.setView(input)

变量“input”不是在方法中创建的,而是每次都添加到新对话框中.这意味着,每次调用create方法时,都会尝试将新父项添加到同一对象中.每次创建对话框时都需要一个新的“输入”,或者您可以一遍又一遍地使用相同的对话框.

标签:android,android-alertdialog
来源: https://codeday.me/bug/20190610/1209324.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有