Dialog第二次点击报错

原创 2016年08月31日 15:26:41

错误信息如下:

自定义dialog,里面添加了一个自定义布局,一不小心报错。

 java.lang.IllegalStateException: The specified child               already has a parent. You must call removeView() on the child's parent first(自view已经有了父view,你必须先移除父view的子view)

通常我们出现这样的问题会想着找到getparent(),然后移除。但是我试了好久没有找到解决的方法,最后发现我创建
LayoutInflater inflater = getLayoutInflater();这句话的时候由于顺序不对,而导致再次打开dialog,inflater又创建了一次,从而出错。所以我们代码应该如下:

 builder = new AlertDialog.Builder(MainActivity.this);//builder创建
 LayoutInflater inflater = getLayoutInflater();//Inflate创建
 dialog = inflater.inflate(R.layout.dialog, (ViewGroup)findViewById(R.id.dialog));//自定义的布局
 datePicker2 = (DatePicker) dialog.findViewById(R.id.myDatePicker2);//布局里面的控件
 builder.setTitle("选择查询的日期");
 builder.setView(dialog);//添加自定义布局
 builder.setIcon(R.mipmap.ic_launcher);
 builder.show();//显示dialog
版权声明:本文为博主原创文章,转载时请著名出处:http://blog.csdn.net/dg_summer

相关文章推荐

使用dialog对话框时第二次点击报错 IllegalStateException

使用dialog弹出一个view 第二次点击时报错 java.lang.IllegalStateException : The specified child already has a parent...

Android开发之自定义Dialog二次打开报错问题解决

之前自定义了一个AlertDialog对话框,第一次点击时正常,但第二次调用时会出现错误:java.lang.IllegalStateException: The specified child al...

解决Dialog在第二次打开时报错的问题

Dialog第二次打开报错是出现在自定义的Dialog中,Dialog在被第二次打开的时候其试图已经存在,而你再次打开它,Dialog会认为此视图已有了父容器而你还要为人家添加一个父容器,这样Dial...

(异常)Android开发,Dialog dialog=new AlertDialog.Builder(this)出错。

我最近也遇到了这样的错误

解决Dialog在第二次打开时报错的问题

Dialog第二次打开报错是出现在自定义的Dialog中,Dialog在被第二次打开的时候其试图已经存在,而你再次打开它,Dialog会认为此视图已有了父容器而你还要为人家添加一个父容器,这样Dial...

解决Dialog在第二次打开时报错的问题

Dialog第二次打开报错是出现在自定义的Dialog中,Dialog在被第二次打开的时候其试图已经存在,而你再次打开它,Dialog会认为此视图已有了父容器而你还要为人家添加一个父容器,这样Dial...

BaseAdapter使用简介

步骤一:创建一个布局文件,对Item控件进行布局 步骤二:在对应的Activity中添加ListView控件 private ListV...

带EditText的 AlertDialog 第二次点击报错,child already has a parent错误的解决

最近在做一个小功能,即照片连拍的过程中,每拍一张弹出AlertDialog输入添加文本后,画成水印在照片上。过程中遇到了一个问题,即第一张照片添加完毕后,进入第二张拍照,点击拍照返回即报错,是Aler...
  • yx0628
  • yx0628
  • 2013年07月23日 14:54
  • 2791
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Dialog第二次点击报错
举报原因:
原因补充:

(最多只允许输入30个字)