Dialog 之AlertDialog(单选,多选,提示)
主要实现弹出是对话框的功能,包括:
1.对操作的确认和取消
2.弹出单选框以及多选框
创建好布局文件,添加三个按钮,分别为:提示信息,单选框,多选框:
在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;
}
}