Activity多功能按钮——基础编
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.image).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系统构架图还不是很了解,我附上一张中文的图给大家观看