zoukankan      html  css  js  c++  java
  • 对话框子视图Android自定义Dialog二次调用报错解决方法:The specified child already has a parent. You must call removeView()java教程

    上班之余抽点时间出来写写博文,希望对新接触的朋友有帮助。明天在这里和大家一起学习一下对话框子视图

        明天自定义了一个AlertDialog对话框,第一次点击时畸形,但第二次调用时会现错出误:java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.

        

        错出的代码为:

        

    //窗口构造器
    	synchronized protected View GetTextEntryView() {
    		LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    		switch (Dialog_TYPE) {
    			case DIALOG_TYPE_EXIT://出退对话框
    				return inflater.inflate(R.layout.datalist, null);
    			default:
    				break;
    		}
    		return null;
    	}
        每日一道理
    青春是用意志的血滴和拼搏的汗水酿成的琼浆——历久弥香;青春是用不凋的希望和不灭的向往编织的彩虹——绚丽辉煌;青春是用永恒的执著和顽强的韧劲筑起的一道铜墙铁壁——固若金汤。

        而示提的大致意思是说为一个子视图指定了多个父视图。由此可以推断出,在第二次点击按钮弹出对话框时,子视图与第一次点击时的子视图是同一个象对,而父视图经已不再是同一个象对了。

        

        解决方法非常简略,只需要重写对话框的show()方法便可:

        

    @Override//重写show()方法
    	public AlertDialog show() {
    		//再次绑定View
    		setView(GetTextEntryView());
    		return super.show();
    	}

        

    文章结束给大家分享下程序员的一些笑话语录: 这个世界上只有10种人:懂得二进制的和不懂得二进制的。

  • 相关阅读:
    IHttpActionResult – new way of creating responses in ASP.NET Web API 2
    Web Api 中返回JSON的正确做法
    MVC中使用RazorPDF创建PDF
    Mac上javaweb开发环境搭建介绍----git安装及使用
    Web开发环境的搭建(mysql、maven)
    父pom.xml的详解
    pom.xml中的常用依赖包总结
    Maven+Spring+SpringMVC+Mybatis中的常见错误
    jqGrid中关于工具条中的输入框中内容的读取
    jqGrid的Fomatter用于将图片url地址转换成前端图片显示的使用
  • 原文地址:https://www.cnblogs.com/xinyuyuanm/p/3040098.html
Copyright © 2011-2022 走看看