android 弹出框总结二
1:在基类里实现此方法,封装按钮监听实现
protected AlertDialog showAlertDialog(String pTitle, String pMessage,
DialogInterface.OnClickListener pOkClickListener,
DialogInterface.OnClickListener pCancelClickListener,
DialogInterface.OnDismissListener pDismissListener) {
mAlertDialog = new AlertDialog.Builder(this)
.setTitle(pTitle)
.setMessage(pMessage)
.setPositiveButton(android.R.string.ok, pOkClickListener)
.setNegativeButton(android.R.string.cancel,
pCancelClickListener).show();
if (pDismissListener != null) {
mAlertDialog.setOnDismissListener(pDismissListener);
}
return mAlertDialog;
}
在子类里实现掉调用;
2:单独封装一个类,自己实现接口
public static void show(Context context,String title ,String yes,String no,String message, final OnClickListener yesListener, final OnClickListener noListener) { Builder builder = new Builder(context); builder.setMessage(message); builder.setTitle(title); builder.setCancelable(false);
builder.setPositiveButton(yes, new OnClickListener() {
public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); if (yesListener != null) { yesListener.onClick(dialog, which); }
} });
builder.setNegativeButton(no, new OnClickListener() {
public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); if (noListener != null) { noListener.onClick(dialog, which); } }
});
builder.show();
}
第一种相对于第二中简单;
3:通过AlertDialog.Builder中setItems属性来确定简单的弹出框列表形式(
动态布局的array.xml,
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="show_item_select">
<item>音频</item>
<item>视频</item>
<item>图片</item>
</string-array>
</resources>)
for (int i = 0; i < count; i++) {
types[i] = dropItemsBean.getDropItemsList().get(i)
.getItemName();
}
new AlertDialog.Builder(BasicGetAcquisitionData.this)
.setTitle("请选择")
.setItems(types, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int which) {
((TextView) view
.findViewById(R.id.people_item_tv_body))
.setText(types[which]);
dropItemsBean.setValue(dropItemsBean
.getDropItemsList().get(which)
.getItemValue());
dialog.dismiss();
}
})
.setNegativeButton("取消",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface d,
int which) {
}
}).create().show();
new AlertDialog.Builder(context) .setTitle("请选择文件类型") .setItems(R.array.show_item_select, new DialogInterface.OnClickListener() {
@Override public void onClick(DialogInterface dialog, int which) { switch (which) {
case 0: // .mp3.wma intent.setType("audio/*");// 选择音频 fileCode = which; startActivityForResult(intent, CODE); break; case 1: // ".3gp.mp4 fileCode = which; intent.setType("video/*"); // 选择视频 startActivityForResult(intent, CODE); break; case 2: // ".jpg.png fileCode = which; intent.setType("image/*");// 选择图片 startActivityForResult(intent, CODE); break; }
} }) .setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); }
}).show();
posted on 2013-05-15 14:02 yujian_bcq 阅读(176) 评论(0) 编辑 收藏 举报