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编辑  收藏  举报

导航