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

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 打开文本对话框

    首先,我们要知道Android中的对话框(Dialog)是应用程序窗口的一种形式,它浮现在当前活动(Activity)之上,提供一种与用户交互的方式。对话框通常用于提示用户做出选择、输入信息或者显示警告。 1. **创建对话框...

    android builder 对话框

    Android Builder对话框是系统提供的一种用于创建和展示对话框的工具,它允许开发者以链式调用的方式设置对话框的各种属性,如标题、消息、按钮等,使得代码更加清晰易读。 1. **Builder模式介绍** Builder模式的...

    Android Studio 常用对话框

    在Android Studio中,可以通过AlertDialog.Builder类来创建并自定义对话框的内容、样式和行为。例如,我们可以设置对话框的标题、消息文本、确定和取消按钮,并指定点击按钮后的回调函数。 其次,单选对话框...

    Android代码-Android Dialog 安卓对话框

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

    Android 简单对话框,列表对话框示例

    本示例主要关注`Android`中的几种基本对话框类型:普通AlertDialog、列表对话框(ListDialog)、进度对话框(ProgressDialog)以及自定义对话框,通过实例来阐述如何在代码中实现它们。 首先,我们来看`AlertDialog...

    android 模态与非模态对话框实现

    在Android应用开发中,对话框(Dialog)是与用户交互的重要元素,分为模态和非模态两种类型。本文将详细介绍这两种对话框的实现,并结合源码和工具进行讲解。 模态对话框(Modal Dialog)是一种阻塞用户界面直至...

    android 具有选择功能的对话框dialog

    在Android开发中,Dialog是一种非常常见的用户界面组件,它用于在主界面之上显示临时的、半透明的窗口,用于向用户展示信息或者进行简单的交互。本文将深入探讨如何创建一个具有选择功能的对话框(Dialog),包括...

    Android 之 对话框总结

    在Android开发中,对话框(Dialog)是一种非常重要的组件,用于与用户进行交互,提供临时信息展示、选项选择等操作。本篇文章将对Android中的对话框进行深入的总结,包括基本概念、类型、使用方法以及自定义对话框的...

    Android菜单、对话框使用实例源码

    在Android应用开发中,菜单和对话框是两个非常重要的组件,它们用于提供用户交互和信息展示。本实例源码着重展示了如何在Android应用程序中有效地利用这两种元素。 菜单(Menu)在Android中主要用于在屏幕顶部或者...

    Android-Dialog对话框

    在Android开发中,Dialog对话框是一种常见的用户交互组件,它用于在主界面之上显示一个临时窗口,用于提示信息、确认操作或提供选择项。本文将深入探讨`Android-Dialog`对话框的相关知识点,并结合源码分析,以帮助...

    Android常用对话框源码对话框大全

    在Android开发中,对话框(Dialog)是一种非常重要的组件,用于与用户进行交互,提供临时的通知、确认或者选项。在"Android常用对话框源码--对话框大全"中,我们可以探讨多种类型的对话框及其实现方式。 1. **系统...

    Android中自定义对话框的实现

    在Android开发中,自定义对话框(Custom Dialog)是一种常见的用户界面组件,它允许开发者根据应用的风格和需求创建独特的提示或交互界面。本篇将深入探讨如何在Android中实现自定义对话框,并通过示例代码`MyDialog...

    Android系统对话框和自定义对话框实现

    在Android开发中,对话框(Dialog)是一种非常重要的组件,用于与用户进行交互,提供临时的通知或确认信息,或者在不中断主应用流程的情况下展示额外的功能。本教程将深入讲解如何在Android系统中创建和使用标准...

    android自定义多选对话框

    在Android开发中,有时我们需要创建具有特定功能和样式的对话框来增强用户体验。"android自定义多选对话框"是一个常见的需求,特别是在需要用户从多个选项中进行选择时。在这个主题中,我们将深入探讨如何创建这样一...

    Android弹出对话框

    在Android应用开发中,对话框(Dialog)是一种重要的交互元素,它用于向用户展示临时信息或请求用户输入数据。在给定的标题“Android弹出对话框”中,我们可以理解这是关于如何在Android环境中创建和使用对话框的...

    Android Studio —— AlertDialog(多选对话框)

    在Android应用开发中,`AlertDialog`是一个非常重要的组件,它用于显示一个对话框来与用户进行交互。在本文中,我们将深入探讨如何在Android Studio中使用`AlertDialog`创建多选对话框,以及相关的知识点。 首先,`...

    Delphi XE5 Android Dialogs 对话框

    它是Delphi和C++Builder用于跨平台开发的统一界面层,支持Windows、Mac OS X、iOS以及Android等多个操作系统。FMX提供了一套与平台无关的控件和组件,使得开发者可以轻松地在不同设备上实现一致的用户体验。 在...

    Android应用源码之android 自定义对话框.zip

    1. **AlertDialog.Builder**:这是Android SDK提供的一个类,用于构建标准的对话框。通过调用其方法,如`setTitle()`, `setMessage()`, `setPositiveButton()`, `setNegativeButton()`等,我们可以设置对话框的基本...

    Android 全选反选对话框

    在Android中,我们可以使用`AlertDialog.Builder`来创建一个自定义对话框。首先,我们需要在布局文件中设计对话框的界面,包括全选和反选按钮以及复选框列表。下面是一个简单的示例: ```xml &lt;LinearLayout xmlns:...

    android 自定义单选、多选对话框及popwindow窗口实例源码.zip

    在Android开发中,自定义对话框(Custom Dialog)和PopupWindow是两个常用的功能,用于提供交互式的用户界面。本文将详细解析如何在Android应用中实现自定义单选、多选对话框以及PopWindow窗口,并通过实例源码进行...

Global site tag (gtag.js) - Google Analytics