Dialog 之AlertDialog(单选,多选,提示)

Dialog 之AlertDialog(单选,多选,提示)

主要实现弹出是对话框的功能,包括:

1.对操作的确认和取消

2.弹出单选框以及多选框

创建好布局文件,添加三个按钮,分别为:提示信息,单选框,多选框:

Dialog 之AlertDialog(单选,多选,提示)_第1张图片

在Activity中实现相关功能,代码如下:

package com.example.android_dialog;

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

public class MainActivity extends Activity {
	private Button button1, button2, button3;
	private AlertDialog.Builder builder;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		button1 = (Button) this.findViewById(R.id.button1);
		button2 = (Button) this.findViewById(R.id.button2);
		button3 = (Button) this.findViewById(R.id.button3);

		builder = new AlertDialog.Builder(this);
		builder.setTitle("提示框");// 标题
		builder.setMessage("确定删除?");// 提示内容
		builder.setIcon(R.drawable.kid);// 设置图片 左上角
		builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {

			@Override
			public void onClick(DialogInterface arg0, int arg1) {
				// TODO Auto-generated method stub
				// 完成业务逻辑代码
				Toast.makeText(MainActivity.this, "删除成功!", 1).show();
			}
		});// 设置删除

		builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {

			@Override
			public void onClick(DialogInterface arg0, int arg1) {
				// TODO Auto-generated method stub
				Toast.makeText(MainActivity.this, "取消操作", 1).show();
			}
		});// 设置取消

		button1.setOnClickListener(new View.OnClickListener() {

			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				builder.show();// 使提示框可见
			}
		});

		// 多选框部分
		button2.setOnClickListener(new View.OnClickListener() {

			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				AlertDialog.Builder builder = new AlertDialog.Builder(
						MainActivity.this);
				builder.setTitle("请选择城市");
				final String[] city = { "北京", "上海", "广州" };
				builder.setMultiChoiceItems(city, new boolean[] { true, false,
						true },
						new DialogInterface.OnMultiChoiceClickListener() {

							@Override
							public void onClick(DialogInterface arg0,
									int which, boolean isChecked) {
								// TODO Auto-generated method stub
								if (isChecked) {
									Toast.makeText(MainActivity.this,
											city[which], 1).show();

								}
							}
						});

				builder.setPositiveButton("确定",
						new DialogInterface.OnClickListener() {

							@Override
							public void onClick(DialogInterface arg0, int arg1) {
								// TODO Auto-generated method stub
								Toast.makeText(MainActivity.this, "确定操作", 1)
										.show();
							}
						});
				builder.setNegativeButton("取消",
						new DialogInterface.OnClickListener() {

							@Override
							public void onClick(DialogInterface arg0, int arg1) {
								// TODO Auto-generated method stub
								Toast.makeText(MainActivity.this, "取消操作", 1)
										.show();

							}
						});

				builder.show();
			}
		});

		// 单选对话框部分
		button3.setOnClickListener(new View.OnClickListener() {

			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				AlertDialog.Builder builder = new AlertDialog.Builder(
						MainActivity.this);
				builder.setTitle("性别");
				builder.setSingleChoiceItems(new String[] { "男", "女", "保密" },
						-1, new DialogInterface.OnClickListener() {

							@Override
							public void onClick(DialogInterface arg0, int which) {
								// TODO Auto-generated method stub

							}
						});

				builder.setPositiveButton("确定",
						new DialogInterface.OnClickListener() {

							@Override
							public void onClick(DialogInterface arg0, int arg1) {
								// TODO Auto-generated method stub
								Toast.makeText(MainActivity.this, "确定操作", 1)
										.show();
							}
						});

				builder.setNegativeButton("取消",
						new DialogInterface.OnClickListener() {

							@Override
							public void onClick(DialogInterface arg0, int arg1) {
								// TODO Auto-generated method stub
								Toast.makeText(MainActivity.this, "取消操作", 1)
										.show();
							}
						});

				builder.show();
			}
		});

	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

}
Dialog 之AlertDialog(单选,多选,提示)_第2张图片
Dialog 之AlertDialog(单选,多选,提示)_第3张图片


你可能感兴趣的:(Android开发笔记)