此处代码可运行,自己做7个按钮接入ID,即可运行
public class MainActivity extends Activity {
private int mSingleChoice = -1; // 用于记录单选中的id
private List<Integer> checkItems = new ArrayList<Integer>();
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button1 = (Button) findViewById(R.id.button1);
Button button2 = (Button) findViewById(R.id.button2);
Button button3 = (Button) findViewById(R.id.button3);
Button button4 = (Button) findViewById(R.id.button4);
Button button5 = (Button) findViewById(R.id.button5);
Button button6 = (Button) findViewById(R.id.button6);
Button button7 = (Button) findViewById(R.id.button7);
// 设置监听事件
button1.setOnClickListener(new ButtonOne());
button2.setOnClickListener(new ButtonTwo());
button3.setOnClickListener(new ButtonThree());
button4.setOnClickListener(new ButtonFour());
button5.setOnClickListener(new ButtonFive());
button6.setOnClickListener(new ButtonSix());
button7.setOnClickListener(new ButtonSeven());
}
/**
* 确定取消对话框
*
* @author Administrator
*
*/
private final class ButtonOne implements View.OnClickListener {
@Override
public void onClick(View v) {
// 使用AlerDialog.Builder创建对话框
Builder builder = new Builder(MainActivity.this);
// 使用builder设置对话框的title button icon
builder.setIcon(R.drawable.icon);
builder.setTitle(R.string.dialog_button1_title);
builder.setMessage("萨达萨达大胆");
// 对话框中有2个按钮 通过调用 setPositiveButton 方法
// 和 setNegativeButton 方法 可以设置按钮的显示内容以及按钮的监听事件
builder.setPositiveButton(R.string.dialog_button1_button1,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
/*
* new Builder(MainActivity.this).setMessage(
* "你已经退出!!").show();
*/
// 用吐司的方式显示信息
Toast.makeText(MainActivity.this, "你没有退出!!",
Toast.LENGTH_LONG).show();
}
});
builder.setNegativeButton(R.string.dialog_button1_button2,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
/*
* new Builder(MainActivity.this).setMessage(
* "你没有退出!!").show();
*/
// 用吐司的方式显示信息
Toast.makeText(MainActivity.this, "你没有退出!!",
Toast.LENGTH_LONG).show();
}
});
builder.create().show();
}
}
/**
* 多个按钮信息框
*
* @author Administrator
*
*/
private final class ButtonTwo implements View.OnClickListener {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Builder builder = new Builder(MainActivity.this);
builder.setIcon(R.drawable.icon);
builder.setTitle("投票");
builder.setMessage("你认为什么样的内容能吸引您?");
builder.setPositiveButton("有趣味的",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
toastModel("有趣味的!!");
}
});
builder.setNeutralButton("有思想的",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
toastModel("有思想的!!");
}
});
builder.setNegativeButton("主题强的",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
toastModel("主题强的!!");
}
});
builder.create().show();
}
}
/**
* 列表框
*
* @author Administrator
*
*/
private final class ButtonThree implements View.OnClickListener {
@Override
public void onClick(View v) {
// 这个数组用于列表选择
final String items[] = { "item0", "item1", "item2", "item3",
"item4", "item5" };
Builder builder = new Builder(MainActivity.this);
builder.setTitle("列表选着框");
builder.setItems(items, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
toastModel("你选择的id为" + which + "," + items[which]);
}
});
builder.create().show();
}
}
/**
* 进度条
*
* @author Administrator
*
*/
private final class ButtonFour implements View.OnClickListener {
@Override
public void onClick(View v) {
/**
* 点击进度条框按钮后 开启一个线程计算读取的进度 假设读取结束为 100 Progress在小于100的时候一直在线程中做循环++
* 只到读取结束后,停止线程。
*/
final ProgressDialog mProgressDialog = new ProgressDialog(
MainActivity.this);
mProgressDialog.setIcon(R.drawable.icon);
mProgressDialog.setTitle("进度条窗口");
mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);// 设置进度条显示类型
mProgressDialog.setMax(100);// 设置进度条大小
mProgressDialog.setButton("确定",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
});
mProgressDialog.setButton2("取消",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
});
mProgressDialog.show();
new Thread() {
public void run() {
int progress = 0;
while (progress < 100) {
try {
Thread.sleep(500);
progress++;
mProgressDialog.incrementProgressBy(1);// 设置进度条每次走的长度
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}.start();
}
}
/**
* 单项选择列表框
*
* @author Administrator
*
*/
private final class ButtonFive implements View.OnClickListener {
@Override
public void onClick(View v) {
final String items[] = { "item0", "item1", "item2", "item3",
"item4", "item5" };
mSingleChoice = -1;
// 使用AlerDialog.Builder创建对话框
Builder builder = new Builder(MainActivity.this);
// 使用builder设置对话框的title button icon
builder.setIcon(R.drawable.icon);
builder.setTitle("单项选择");
// 第二个参数用于设置默认选项
builder.setSingleChoiceItems(items, 0,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
mSingleChoice = which;
toastModel("你选择的id为" + which + "," + items[which]);
}
});
builder.setPositiveButton("确定",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
/*
* new Builder(MainActivity.this).setMessage(
* "你已经退出!!").show();
*/
// 用吐司的方式显示信息
Toast.makeText(MainActivity.this,
"你选择的是" + mSingleChoice, Toast.LENGTH_LONG)
.show();
}
});
builder.setNegativeButton("取消",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
/*
* new Builder(MainActivity.this).setMessage(
* "你没有退出!!").show();
*/
// 用吐司的方式显示信息
}
});
builder.create().show();
}
}
/**
* 多像选择列表框
*
* @author Administrator
*
*/
private final class ButtonSix implements View.OnClickListener {
@Override
public void onClick(View v) {
// 这个数组用于列表选择
final String items[] = { "item0", "item1", "item2", "item3",
"item4", "item5" };
/**
* checkItems 用于记录多选选中的id号 存在ArrayList中 选中后 add 进ArrayList 取消选中后
* remove 出ArrayList。
* 数组最好用Map存取,在这里为了方便我采用了list.如果你采用list在项目中就会出现bug,比如你先选择0和2
* 再选择1,然后取消1,你就会发现提示你的结果是你选中的0和1
*/
checkItems.clear(); // 清空数组
Builder builder = new Builder(MainActivity.this);
builder.setIcon(R.drawable.icon);
builder.setTitle("多项选择");
builder.setMultiChoiceItems(items, new boolean[] { false, false,
false, false, false, false },
new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which,
boolean isChecked) {
// TODO Auto-generated method stub
if (isChecked) {
checkItems.add(which);
toastModel("你选择的id为" + which + ","
+ items[which]);
} else {
checkItems.remove(which);
}
}
});
builder.setPositiveButton("确定",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String str = "";
int size = checkItems.size();
for (int i = 0; i < size; i++) {
str += items[checkItems.get(i)] + "";
}
toastModel("你选择的是" + str);
}
});
builder.setNegativeButton("取消",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
builder.create().show();
}
}
/**
* 读取进度框
*
* @author Administrator
*
*/
private final class ButtonSeven implements View.OnClickListener {
@Override
public void onClick(View v) {
ProgressDialog mProgressDialog = new ProgressDialog(MainActivity.this);
mProgressDialog.setTitle("读取ing");
mProgressDialog.setMessage("正在读取中请稍后");
mProgressDialog.setIndeterminate(true);
mProgressDialog.setCancelable(true);
mProgressDialog.show();
}
}
/**
* 设置吐司方法
*
* @param title
* 传入要显示的字符窜
*/
private final void toastModel(String title) {
Toast.makeText(MainActivity.this, title, Toast.LENGTH_LONG).show();
}
}