- 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);
- break;
- case R.id.btnChoiceList:
- showDialog(SINGLE_CHOICE_LIST);
- break;
- case R.id.btnMultiChoiceList:
- showDialog(MULTI_LIST);
- break;
- case R.id.btnRemoveDialog:
- removeDialog(DELETE_FILE);
- removeDialog(SIMPLE_LIST);
- removeDialog(SINGLE_CHOICE_LIST);
- removeDialog(MULTI_LIST);
- break;
- }
- }
- @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() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- 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() {
- //线程管理
- @Override
- 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.p_w_picpath).setTitle("选择国家").setMultiChoiceItems(provinces, new boolean[]{false,true,false,true,false,false} , new DialogInterface.OnMultiChoiceClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which, boolean isChecked) {
- }
- }).setPositiveButton("确定", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- 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;
- }
- @Override
- 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系统构架图还不是很了解,我附上一张中文的图给大家观看
转载于:https://blog.51cto.com/llb988/489522