对AlertDialog.Builder进行封装
2016-06-12 13:55
549 查看
为了应付认证考试,我对一些常用的控件进行了封装.
封装类,
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;
}
}
}//测试我这个封装类
封装类,
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();
相关文章推荐
- (Builder)建造者模式的Java实现
- Redhat 官方Performance_Tuning_Guide
- UIlabel顶端对齐
- UI控件用法
- 这个函数的返回 值value的二进制位模式从左到右翻转后的值。
- C# StructLayout(LayoutKind.Sequential)]
- UITextField的基本使用
- Crank Storyboard Suite汽车仪表盘设计
- SecrueCRT 方向键不能使用
- easyui formatter实现超链接效果
- UIButton中setTitleEdgeInsets和setImageEdgeInsets的使用
- Android UI-开源框架ImageLoader的完美例子
- UIViewContentMode各类型效果
- 浅谈如何实现easyui的datebox格式化
- POJ-1458 Common Subsequence
- UI各种效果库
- Android基础UI组件
- UILabel的行间距
- UIView 中的控件事件穿透 Passthrough 的实现
- javax.persistence.PersistenceException: [PersistenceUnit: cmf.server] Unable to build EntityManagerF