对AlertDialog.Builder进行封装

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

封装类,

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;
	// 传个content
	private 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 {

	@Override
	public void onClick(DialogInterface dialog, int which) {
		// TODO Auto-generated method stub
		Log.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() {
					// 执行确认操作
					@Override
					public void confirm() {
						// TODO Auto-generated method stub
						Toast.makeText(MainActivity.this, "你好啊", 0).show();
					}
					// 执行取消操作
					@Override
					public void cancel() {
						// TODO Auto-generated method stub
					}
					// 提交
				}).commit();


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值