把常用的对话框记一下,方便以后查用
布局文件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >
<Button
android:onClick="click1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="确定取消对话框" />
<Button
android:onClick="click2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="单选对话框" />
<Button
android:onClick="click3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="多选对话框" />
<Button
android:onClick="click4"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="进度条对话框" />
</LinearLayout >
代码实现
package com.wzw.dialog;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.DialogInterface.OnMultiChoiceClickListener;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
/**
* 确定取消对话框
* @param v
*/
public void click1(View v){
AlertDialog.Builder builder=new Builder(this);
builder.setTitle("我是标题");
builder.setMessage("我是提示信息");
builder.setPositiveButton("确定", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(), "确定被点击啦", 0).show();
}
});
builder.setNegativeButton("取消", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// Toast.makeText(getApplicationContext(), "取消被点击啦", 0).show();
// 什么都不写,默认的是关闭对话框
}
});
builder.create().show();
}
/**
* 单选对话框
* @param v
*/
public void click2(View v){
AlertDialog.Builder builder=new Builder(this);
builder.setTitle("我是标题");
final String items[]={"男","女","屌丝"};
builder.setSingleChoiceItems(items, 2, new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(), "性别是"+items[which], 0).show();
dialog.dismiss();
}
});
builder.create().show();
}
/**
* 多选对话框
* @param v
*/
public void click3(View v){
AlertDialog.Builder builder=new Builder(this);
builder.setTitle("我是标题");
final String[] items={"苹果","香蕉","栗子","西瓜"};
final boolean[] result=new boolean[]{true,false,true,false};
builder.setMultiChoiceItems(items, result, new OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), items[which]+isChecked, 0).show();
result[which]=isChecked;
}
});
builder.setPositiveButton("提交", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
StringBuffer sb=new StringBuffer();
for (int i = 0; i < result.length; i++) {
if(result[i]){
sb.append(items[i]+"--");
}
}
Toast.makeText(getApplicationContext(), "您的选择"+sb.toString(), 0).show();
}
});
builder.create().show();
}
public void click4(View v){
ProgressDialog pd=new ProgressDialog(this);
pd.setTitle("提示信息");
pd.setMessage("正在加载数据,请稍等");
pd.show();
}
}