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系统构架图还不是很了解,我附上一张中文的图给大家观看

浙公网安备 33010602011771号