对AlertDialog.Builder进行封装

来源:互联网 发布:11月份宏观经济数据 编辑:程序博客网 时间:2024/05/17 23:11

为了应付认证考试,我对一些常用的控件进行了封装.

封装类,

package com.example.diload;import android.app.AlertDialog;import android.content.Context;import android.content.DialogInterface;import android.util.Log;/** * 封装diload的 *  * @author Luozubang *  */public class OkDialog {protected static DilodInterface dilodInterface;// 传个contentprivate static Context context;// 运用了单列中的饿汉式private static final OkDialog OK_DIALOG = new OkDialog();private static AlertDialog.Builder builder;public static OkDialog NewInstance() {return OK_DIALOG;}public OkDialog setTitle(String title) {getBuider().setTitle(title);return this;}public OkDialog setMessage(String message) {getBuider().setMessage(message);return this;}public OkDialog setBuider(Context context) {builder = new AlertDialog.Builder(context);return this;}private static AlertDialog.Builder getBuider() {return builder;}// 确认public OkDialog setConfirm(String confirm) {getBuider().setPositiveButton(confirm, new MyDialogInterface());return this;}// 取消public OkDialog setCancel(String cancel) {getBuider().setNegativeButton(cancel, new MyDialogInterface());return this;}// 获取接口实例public OkDialog execute(DilodInterface dilodInterface) {OkDialog.dilodInterface = dilodInterface;return this;}public interface DilodInterface {// 确认操作public void confirm();// 取消操作public void cancel();}// 提交public void commit() {getBuider().show();}}// Dialog的监听class MyDialogInterface implements DialogInterface.OnClickListener {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubLog.v("TAG", which + "标志");// 执行确认操作switch (which) {// -2表示取消,-1表示确认case -2:OkDialog.dilodInterface.cancel();break;case -1:OkDialog.dilodInterface.confirm();break;default:break;}}}
//测试我这个封装类
OkDialog.NewInstance().setBuider(this).setTitle("标题").setMessage("内容").setConfirm("确定").setCancel("取消").execute(new DilodInterface() {// 执行确认操作@Overridepublic void confirm() {// TODO Auto-generated method stubToast.makeText(MainActivity.this, "你好啊", 0).show();}// 执行取消操作@Overridepublic void cancel() {// TODO Auto-generated method stub}// 提交}).commit();


0 0
原创粉丝点击