`
1140566087
  • 浏览: 547765 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
博客专栏
2c4ae07c-10c2-3bb0-a106-d91fe0a10f37
c/c++ 入门笔记
浏览量:18076
3161ba8d-c410-3ef9-871c-3e48524c5263
Android 学习笔记
浏览量:309525
Group-logo
J2ME 基础学习课程集
浏览量:18008
A98a97d4-eb03-3faf-af96-c7c28f709feb
Spring 学习过程记录...
浏览量:17195
社区版块
存档分类
最新评论

Adroid 之 Builder 对话框

阅读更多

Builder 类:实现对话框,提示框;
使用方法:实例化一个对象 ; Builder builder = new Builder(context);   构造方法里面的参数是:上下文菜单;

xml中的测试代码:
	<!-- 主界面显示 -->
	<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <!-- 对话框测试按钮 -->
    <Button 
        android:id="@+id/general_btn"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/generalbtnMessage"
        />
    
     <Button 
        android:id="@+id/edit_btn"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/editBtnMessage"
        />

</LinearLayout>

xml:用于显示在对话框上的布局:
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <TableRow
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="user name:" />

        <EditText
            android:layout_weight="0.5"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />
    </TableRow>

</TableLayout>


java代码:
package com.example.notebook_dialog;

import android.app.Activity;
import android.app.AlertDialog.Builder;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TableLayout;
import android.widget.Toast;

public class DialogActivity extends Activity {

	private Builder builder = null;
	private Button generalBtn,editBtn;
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		/*  测试普通对话框  *//* 首先通过new ,获得一个实体对象,构造方法接受的是一个Context  */
		builder = new Builder(this);

		/* 获取Button的实体对象,通过findViewById();方法 */
		generalBtn = (Button) findViewById(R.id.general_btn);
		editBtn = (Button) findViewById(R.id.edit_btn);
		
		/* 绑定事件 */
		generalBtn.setOnClickListener(general_listener);
		editBtn.setOnClickListener(edit_listener);

	}

	/* 普通对话框测试 */
	/* 编写按钮点击事件View.OnClickListener */
	OnClickListener general_listener = new OnClickListener() {
		public void onClick(View v) {

			/* 创建一个对话框,设置Title icon message button 等属性 */

			/* 设置Title ,标题  */
			builder.setTitle("普通对话框测试");

			/* 设置标题图标  */
			builder.setIcon(getResources().getDrawable(R.drawable.ic_launcher));

			/* 设置会话框中的内容  */
			builder.setMessage(getString(R.string.general_dialog_message));

			/* 设置会话框中的按钮 :确定setPositiveButton   *//* 注:不同的包中相同名称的类的功能是不一样的,必要时明确纽带关系 :DialogInterface.OnClickListener */
			builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
				public void onClick(DialogInterface dialog, int which) {

					Toast.makeText(DialogActivity.this, "您选择了确定按钮", 1000).show();
				}
			});

			/* 设置会话框中的按钮:取消 setNegativeButton */
			builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
				public void onClick(DialogInterface dialog, int which) {
					Toast.makeText(DialogActivity.this, "您选择了取消按钮", 1000);
				}
			});
			
			/* 对话框需要创建和显示 */
			builder.create().show();

		}
	};
	
	/* 编辑对话框测试  *//* 首先在layout布局文件中编写需要布局的样式   */
	OnClickListener edit_listener = new OnClickListener() {
		public void onClick(View v) {
			/* 创建一个对话框,设置Title icon message button 等属性 */

			/* 设置Title ,标题  */
			builder.setTitle("编辑对话框测试");

			/* 设置标题图标  */
			builder.setIcon(getResources().getDrawable(R.drawable.ic_launcher));

			/* 对话框中的编辑获取 *//* 将xml文件转换为view *//* 参1:布局文件ID; 参2:转换为View之后所指定的父类  */
			TableLayout tab = (TableLayout) getLayoutInflater().inflate(R.layout.dialolayout, null);
			
			/* 将绑定的布局显示在界面布局上  */
			builder.setView(tab);
			

			/* 设置会话框中的按钮 :确定setPositiveButton   *//* 注:不同的包中相同名称的类的功能是不一样的,必要时明确纽带关系 :DialogInterface.OnClickListener */
			builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
				public void onClick(DialogInterface dialog, int which) {

					Toast.makeText(DialogActivity.this, "您选择了确定按钮", 1000).show();
				}
			});

			/* 设置会话框中的按钮:取消 setNegativeButton */
			builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
				public void onClick(DialogInterface dialog, int which) {
					Toast.makeText(DialogActivity.this, "您选择了取消按钮", 1000);
				}
			});
			/* 创建和显示 */
			builder.create().show();
			
		}
	};
}

  • 大小: 151.9 KB
  • 大小: 144.6 KB
分享到:
评论
2 楼 1140566087 2013-10-25  
qianguming 写道
不知道楼主有没有发现有问题,点击完普通对话框取消,再点击编辑对话框,然后再点击普通对话框,此时会报异常

java.lang.IllegalStateException The specified child already has a parent. You must call removeView() on the child's parent first. 


还真没有发现,我试试看!  多些指出
1 楼 qianguming 2013-10-25  
不知道楼主有没有发现有问题,点击完普通对话框取消,再点击编辑对话框,然后再点击普通对话框,此时会报异常

java.lang.IllegalStateException The specified child already has a parent. You must call removeView() on the child's parent first. 

相关推荐

    android builder 对话框

    builder 弹出对话框 android 对话框全选 builder对话框全选 时间弹出选择等 下载后导入就可以用了

    Android代码-Android Dialog 安卓对话框

    Android Dialog 即 Android对话框,在Android开发中,我们经常会需要在Android界面上弹出一些对话框,以询问用户或者让用户选择。Android Dialog 一般有五种,分别是:一般对话框,列表对话框,单选按钮对话框,多选...

    详解Android 全局弹出对话框SYSTEM_ALERT_WINDOW权限

    &lt;uses android:name=android.permission.SYSTEM_ALERT_WINDOW&gt; 2、创建Dialog AlertDialog.Builder builder=new AlertDialog.Builder(this); builder.setIcon(R.drawable.logo_mini); builder.setTi

    Android 之AlertDialog.Builder的常用方式

    常用的Builder对话框设置,包括只显示文本、带控件、自定义空、Builder间嵌套等

    Android 模拟的单选列表对话框.rar

    Android 模拟的单选列表对话框,这个好像不是使用Android中固有的radio来实现的,是采用Android其它内置方法模拟出来的效果,效果与Radio组件一样,而且界面同样美观简洁,本实例只是默认的风格,有兴趣可参考以下...

    Android DialogInterface列表对话框选择及取值的例子.rar

    声明列表对话框的id,显示列表对话框,为按钮添加OnClickListener监听器,然后重写的onCreateDialog方法:  switch(id){//对id进行判断  case LIST_DIALOG:   Builder b = new AlertDialog.Builder(this);//创建...

    详解Android Dialog对话框的五种形式

    Android中的对话框形式大致可分为五种:分别是一般对话框形式,列表对话框形式,单选按钮对话框,多选按钮对话框,自定义对话框。 在实际开发中,用系统的对话框会很少,因为太丑了,美工不愿意,多是使用自定义...

    Android开发之对话框案例详解(五种对话框)

    下面通过实例代码给大家分享5种android对话框,具体内容详情如下所示: 1 弹出普通对话框 — 系统更新 2 自定义对话框– 用户登录 3 时间选择对话框 — 时间对话框 4 进度条对话框 — 信息加载.. 5 popuWindow对话框...

    Android开发入门之对话框简单用法

    本文实例讲述了Android开发入门之对话框简单用法。分享给大家供大家参考,具体如下: 注:本文只是一个学习笔记 用以记录自己学到哪了 1.获得AlertDialog的静态内部类Builder对象,由此类来创建对话框 2.通过Builder...

    简析Android多种AlertDialog对话框效果

    android提供了四类常用的对话框,本文分享具体实现方法: 1.AlertDialog,功能最丰富,实际运用最广泛 2.progressDialog,进度条对话框 3.DatePickerDialog,日期选择对话框 4.TimePickerDialog,时间选择...

    android 常用对话框

    android提供了这种问题的解决方案,刚开始接触android的时候,我在做一个自 定义对话框的时候,也是通过继承的方式来实现,后来随着对 文档了解的深入,发现了android起始已经提供了相应的接口Dialog Builder ,下面...

    Android 实现多选按钮对话框.rar

    Android 实现多选按钮对话框,在这个例子中,添加到多选下拉框中的内容,事先定义成了数组:String[] items=null;//选项数组,通过重写onCreate方法,从XML文件读取下拉框内容到字符串数组中,为按钮添加监听器,并...

    Android中Dialog对话框的使用小结

    最近有些空时间,所以花了一个小时对Dialog对话框使用小结一下,比较基础,希望对你学习有帮助,大牛请直接关闭网页。如果你是新手,建议你亲自敲一遍代码。 先看一下效果: Dialog对话框使用小结 一、普通对话框 ...

    Android常用对话框使用大全

    日常生活中我们随处可见对话框,上面有很多提示...1.第一步创建AlertDialog.Builder对象(建造者模式) 2.第二步设置图标、标题、内容和按钮等区域 3.第三步调用create()方法来创建(一般自动调用) 4.第四步调用sh

    Android自定义对话框

    一个Android自定义对话框样式的例程,关键类为ViewDialog,它是Android Dialog的子类,其中有一个Builder类,ViewDialog可以和AlertDialog一样定义和使用,效果很不错

    Android中用Builder模式自定义Dialog的方法

    在任何软件操作系统中,Dialog即对话框都是一种重要的交互模式与信息载体,而Android系统本身的Dialog拥有固定的样式,并且在5.0后采用Material Design设计风格的Dialog美观大气。这篇文章将详细介绍Android中用...

    Android Holo风格的AlertDialog对话框制作实例.rar

    Android 自定义实现一个AlertDialog对话框,提示框或警告框弹出式对话框,套用了系统Holo风格,生成符合系统主题的AlertDialog.Builder,可以分别定义弹出提示的标题文字及提示内容:  builder.setTitle("Test ...

    Android对话框自定义标题 对话框标题美化操作

    Android自带的对话框标题不好看,如果我们需要给弹出的对话框设置一个自己定义的标题,可以使用AlertDialog.Builder的setCustomTitle()方法。  定义一个对话框标题的title.xml文件:  &lt;?xml version=1.0 ...

    Android使用setCustomTitle()方法自定义对话框标题

    Android有自带的对话框标题,但是不太美观,如果要给弹出的对话框设置一个自定义的标题,使用AlertDialog.Builder的setCustomTitle()方法。 运行效果如下,左边是点击第一个按钮,弹出Android系统自带的对话框(直接...

    Android对话框AlertDialog.Builder使用方法详解

    主要介绍了Android对话框AlertDialog.Builder使用方法详解的相关资料,需要的朋友可以参考下

Global site tag (gtag.js) - Google Analytics