1. 范例说明
- 在先前介绍的范例中,提到了一个神奇的“AlertDialog”对话框,这个对话框也可以包含对话框,即层层叠叠的AlertDialog。
- 本范例将示范如何利用一个按钮事件,在触发这个按钮事件后,再通过类似列表项目的方式呈现在AlertDialog里,一般可用作投票、选择器和遥控器等类似的范例,最后再返回程序,取得User选择的菜单项目结果。
2. 运行结果
3. 编写代码
Button.OnClickListener myShowAlertDialog = new Button.OnClickListener() {
public void onClick(View arg0) {
new AlertDialog.Builder(MainActivity.this)
.setTitle(R.string.str_alert_title)
.setItems(R.array.items_irdc_dialog,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int whichcountry) {
CharSequence strDialogBody = getString(R.string.str_alert_body);
String[] aryShop = getResources()
.getStringArray(
R.array.items_irdc_dialog);
new AlertDialog.Builder(MainActivity.this)
.setMessage(
strDialogBody
+ aryShop[whichcountry])
.setNeutralButton(
R.string.str_ok,
new DialogInterface.OnClickListener() {
public void onClick(
DialogInterface dialog,
int whichButton) {
dialog.dismiss();
/* 在这里处理要作的事 */
}
}).show();
}
})
.setNegativeButton("取消",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface d, int which) {
d.dismiss();
}
}).show();
} /* End: public void onClick(View arg0) */
};
4. 扩展学习与作业
自己动手写该Demo
视频讲解:http://www.eyeandroid.com/thread-9952-1-1.html