安卓自己定义对话框及The specified child already has a child问题
问题:在android开发过程中,有时会在不同情况下遇到同种问题:The specified child already has
a parent.You must call removeView() on the child's parent first.日志中例如以下图所看到的:
分析:意思是这个特定的child已经有一个parent了,假设你要继续使用它,就必须先调用removeView()方法移除它原来的的parent,才干继续你的内容。
举例:在主activity中点击按键弹出自己定义View的对话框
首先:
setContentView(R.layout.main);
etContentView(R.layout.main
其次:对button进行click监听,click函数里调用对话框函数
1.对话框的处理:新建defView,里面有一个edittext(其它控件的也一样)
<EditText
android:id="@+id/filename"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
2.由于对话框中要调用的控件不在布局文件main.xml中,所以我们必须先调用布局填充类的相关函数找到该布局
LinearLayout def = (LinearLayout) getLayoutInflater().inflate(R.layout.dialog_save_file, null);
3.然后在该布局中找到对应的控件:
edtTxtFileName = (EditText) saveForm.findViewById(R.id.filename);
4.click函数中对话框的建立
AlertDialog.Builder builder = new AlertDialog.Builder(this)
.setTitle("保存sdcard/sign/").setIcon(R.drawable.save_file)
.setView(def);//这里给对话框增加了自己定义的内容
</pre><pre name="code" class="java">最后:在对话框本身的按键确定或者取消click响应中增加:
((ViewGroup) saveForm.getParent()).removeView(def);
安卓自己定义对话框及The specified child already has a child问题的更多相关文章
- android 他们定义对话框
创建一个布局文件 my_dialog.xml <?xml version="1.0" encoding="utf-8"?> <Relative ...
- AIDL安卓接口定义语言
Android Interface Definition Language简称AIDL翻译为 :安卓 接口 定义 语言 AIDL:进程间通信.Android ...
- 安卓弹出对话框——Alertdialog
在Android开发当中,在界面上弹出一个Dialog对话框使我们经常需要做的,本篇随笔将详细的讲解Dialog对话框这个概念,包括定义不同样式的对话框. 一.Dialog 我们首先来看看androi ...
- 安卓弹出对话框——AlertDialog(二)
在Android中,启动一个对话框有三种方式: 1.定义一个新的activity,并将其主题设置为对话框风格 2.使用AlertDialog类,并且显示它 3.使用 Android的Dialog类的子 ...
- 安卓弹出对话框——Alertdialog(一)
首先看各种样式的对话框: 我们看到,Dialog有很多的子类实现,所以我们要定义一个对话框,使用其子类来实例化一个即可,而不要直接使用Dialog这个父类来构造. 二.AlertDialog 今天我们 ...
- 安卓自己定义View进阶-Path基本操作
版权声明:本人全部文章均採用 [知识共享 署名-非商业性使用-禁止演绎 4.0 国际 许可协议] 转载前请保证理解此协议,原文出处 :http://www.gcssloop.com/#blog htt ...
- 安卓自己定义View进阶-Canvas之绘制基本形状
Canvas之绘制基本形状 作者微博: @GcsSloop [本系列相关文章] 在上一篇自己定义View分类与流程中我们了解自己定义View相关的基本知识,只是,这些东西依然还是理论,并不能拿来(zh ...
- 安卓 自定义AlertDialog对话框(加载提示框)
AlertDialog有以下六种使用方法: 一.简单的AlertDialog(只显示一段简单的信息) 二.带按钮的AlertDialog(显示提示信息,让用户操作) 三.类似ListView的Aler ...
- HTML页面弹出自定义对话框带遮蔽罩(使用JavaScript)
转载:http://blog.sina.com.cn/s/blog_610f47c50100ohe4.html 原理其实很简单:首先绘制弹出的自定义对话框,将其使用display:none隐藏,因为设 ...
随机推荐
- NOIp2018模拟赛四十一
现在是下午15:36,我已经改完题了...刷新纪录 A题叫B,B题叫A是什么操作??? 我离200只差一个SBFA.jpg 成绩:0+100+10=110 被虐啦...今天九个阿克的Orz.A题是个神 ...
- tinymce原装插件源码分析(六)-preview
priview 此插件文件结构比较简单,按钮注册.editor.windowManager.open.窗口出现之前的渲染数据的准备.页面代码的准备. 注意: 1.preview的默认宽高设置: 2.c ...
- DES 加密
package com.cloudunicomm.utils; import java.io.UnsupportedEncodingException; import java.security.Se ...
- ActiveMQ:JMS开源框架入门介绍
介绍基本的JMS概念与开源的JMS框架ActiveMQ应用,内容涵盖一下几点: 基本的JMS概念 JMS的消息模式 介绍ActiveMQ 一个基于ActiveMQ的JMS例子程序 一:JMS基本概念 ...
- Linux学习之计算机基础理论
一.描述计算机的组成及其功能. 计算机系统是由硬件系统(hardware)和软件系统(software system)两部分组成. 硬件系统: 从硬件基本结构上来讲,计算机是由运算器.控制器.存储器. ...
- Informatica环境搭建过程中一些问题-近期项目进了新人,在搭建环境中存在一些问题,之前都处理过一直没有整理,这次接着机会,把这些常见问题处理整理出来
一.Informatica9.5.1创建资源库出错找不到libpmora8.so 错误如下: Database driver event...Error occurred loading librar ...
- java实现文件的上传与下载
(一)文件的上传:在这一部分,我要将execl文件的内容上传到数据库中,完成这一功能.需要分为两步: 1:将文件上传到tomcat下 文件格式如下: 2:读取execl表中的内容到数据库中 首先:下载 ...
- ormlite 中的onUpgrade
public class DBHelper extends OrmLiteSqliteOpenHelper { public static final String DB_NAME = "y ...
- Android框架-Volley(四)
经过前三篇文章的学习,Volley的用法我们已经掌握的差不多了,但是对于Volley的工作原理,恐怕有很多朋友还不是很清楚.因此,本篇文章中我们就来一起阅读一下Volley的源码,将它的工作流程整体地 ...
- PostgreSQL Replication之第四章 设置异步复制(4)
4.4 基于流和基于文件的恢复 生活并不总只是黑色或白色:有时也会有一些灰色色调.对于某些情况下,流复制可能恰到好处.在另一些情况下,基于文件复制和PITR是您所需要的.但是也有许多情况下,您既需要流 ...