<a target="_blank" href="http://blog.51cto.com/attachment/201102/135809295.jpg"></a>
<a target="_blank" href="http://blog.51cto.com/attachment/201102/135833507.jpg"></a>
<a target="_blank" href="http://blog.51cto.com/attachment/201102/135752156.jpg"></a>
package com.smart;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ListView;
//继承OnClickListener
public class Main extends Activity implements OnClickListener {
//固定的静态变量,
private final int DELETE_FILE = 1;
private final int SIMPLE_LIST = 2;
private final int SINGLE_CHOICE_LIST = 3;
private final int MULTI_LIST = 4;
private ListView lv = null;
//定义一个字符串数组
private String[] provinces = new String[] { "中国", "泰国", "美国", "法国",
"新加坡", "英国" };
//按钮
private ButtonOnClick buttonOnClick = new ButtonOnClick(1);
@Override//事件点击
public void onClick(View v) {
//开关选择
switch(v.getId()){
case R.id.btnDeleteFile:
showDialog(DELETE_FILE);
break;
case R.id.btnSimpleList:
showDialog(SIMPLE_LIST);
case R.id.btnChoiceList:
showDialog(SINGLE_CHOICE_LIST);
case R.id.btnMultiChoiceList:
showDialog(MULTI_LIST);
case R.id.btnRemoveDialog:
removeDialog(DELETE_FILE);
removeDialog(SIMPLE_LIST);
removeDialog(SINGLE_CHOICE_LIST);
removeDialog(MULTI_LIST);
}
}
@Override
protected Dialog onCreateDialog(int id) {
Log.d("dialog",String.valueOf(id));
//用来判断选择的目标。如果没有选择,并提示出来,选择中了,也显示结果。详看代码
switch(id){
case DELETE_FILE:
return new AlertDialog.Builder(this).setIcon(R.drawable.question).setTitle("是否删除文件").setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
new AlertDialog.Builder(Main.this).setMessage("文件已经被删除").create().show();
}
}).setNegativeButton("取消", new DialogInterface.OnClickListener() {
new AlertDialog.Builder(Main.this).setMessage("您已经选择了取消,文件未删除").create().show();
}).create();
case SIMPLE_LIST:
return new AlertDialog.Builder(this).setTitle("选择国家").setItems(provinces, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
final AlertDialog ad=new AlertDialog.Builder(Main.this).setMessage("您已经选择了"+which+":"+provinces[which]).show();
android.os.Handler hander=new android.os.Handler();
hander.postDelayed(new Runnable() {
//线程管理
public void run() {
ad.dismiss();
}, 5*1000);
}
}).create();
case SINGLE_CHOICE_LIST:
return new AlertDialog.Builder(this).setTitle("选择国家").setSingleChoiceItems(provinces, 1, buttonOnClick).setPositiveButton("确定", buttonOnClick).setNegativeButton("取消", buttonOnClick).create();
case MULTI_LIST:
AlertDialog ad=new AlertDialog.Builder(this).setIcon(R.drawable.image).setTitle("选择国家").setMultiChoiceItems(provinces, new boolean[]{false,true,false,true,false,false} , new DialogInterface.OnMultiChoiceClickListener() {
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
}).setPositiveButton("确定", new DialogInterface.OnClickListener() {
int count=lv.getCount();
String s="您选择了:";
for (int i = 0; i < provinces.length; i++) {
if(lv.getCheckedItemPositions().get(i)){
s+=i+":"+lv.getAdapter().getItem(i)+" ";
}
}
if(lv.getCheckedItemPositions().size()>0){
new AlertDialog.Builder(Main.this).setMessage(s).show();
}else{
new AlertDialog.Builder(Main.this).setMessage("您未选择任何国家").show();
}).setNegativeButton("取消", null).create();
lv=ad.getListView();
return ad;
return null;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//得到选中的哪一个按钮
Button btnDeletefile=(Button)findViewById(R.id.btnDeleteFile);
Button btnSimpleList=(Button)findViewById(R.id.btnChoiceList);
Button btnSimngleChoiceList=(Button)findViewById(R.id.btnSimpleList);
Button btnMultiChoiceList=(Button)findViewById(R.id.btnMultiChoiceList);
Button btnRemoveDialog=(Button)findViewById(R.id.btnRemoveDialog);
//绑定监听器
btnDeletefile.setOnClickListener(this);
btnSimpleList.setOnClickListener(this);
btnSimngleChoiceList.setOnClickListener(this);
btnMultiChoiceList.setOnClickListener(this);
btnRemoveDialog.setOnClickListener(this);
//定义一个类,用来判断选择中的。
private class ButtonOnClick implements DialogInterface.OnClickListener {
private int index;
public ButtonOnClick(int index) {
this.index = index;
@Override
public void onClick(DialogInterface dialog, int whichButton) {
if(whichButton>=0){
index=whichButton;
}else{
if(whichButton==DialogInterface.BUTTON_POSITIVE){
new AlertDialog.Builder(Main.this).setMessage("您已经选择了:"+index+":"+provinces[index]).show();
}else if(whichButton==DialogInterface.BUTTON_NEGATIVE){
new AlertDialog.Builder(Main.this).setMessage("你未选择,请选择").show();
protected void onPrepareDialog(int id,Dialog dialog){
super.onPrepareDialog(id, dialog);
}
另外很多朋友对Android系统构架图还不是很了解,我附上一张中文的图给大家观看
<a target="_blank" href="http://blog.51cto.com/attachment/201102/140742220.jpg"></a>
本文转自 llb988 51CTO博客,原文链接:http://blog.51cto.com/llb988/489522,如需转载请自行联系原作者