android 自定义Dialog弹出提示框

一个CommonDialog的工具类,
思路:首先在该工具类里面new一个Dialog,然后再调用该dialog的setContentView设置自己要定制的弹框View,在CommonDialog该类定义两个接口:
public interface DialogPositiveListener {
        void onClick();
    }

public interface DialogNegativeListener {
        void onClick();
    }
然后再定义两个SetListener方法作为new 出来的CommonDialog对象调用,传进来的两个实现DialogPositiveListener,DialogNegativeListener实现这两个接口的listener,作为两个自定义确定,取消按钮时需要做的操作的listener:
public void setPositiveListener(DialogPositiveListener positiveListener) {
        this.positiveListener = positiveListener;
    }

public void setNegativeListener(DialogNegativeListener negativeListener) {
        this.negativeListener = negativeListener;
    }
总体思路大概就是这样,下面是CommonDialog调用的三种不同方式(自认为调用方式还是比较点单的,呵呵。。。):
switch (v.getId()) {
        case R.id.btn1:
            CommonDialog dialog1 = new CommonDialog(this);
            dialog1.setPositiveListener(new DialogPositiveListener() {
                @Override
                public void onClick() {
                    ToastUtils.show(MainActivity.this, "确定");
                }
            });
            dialog1.initDialog("您确定要删除收藏?").show();
            break;
        case R.id.btn2:
            CommonDialog dialog2 = new CommonDialog(this);
            dialog2.setPositiveListener(new DialogPositiveListener() {
                @Override
                public void onClick() {
                    ToastUtils.show(MainActivity.this, "确定");
                }
            });
            dialog2.setNegativeListener(new DialogNegativeListener() {
                @Override
                public void onClick() {
                    ToastUtils.show(MainActivity.this, "取消");
                }
            });
            dialog2.initDialog("您确定要取消该收藏?").show();
            break;
        case R.id.btn3:
            CommonDialog dialog3 = new CommonDialog(this);
            dialog3.setPositiveListener(new DialogPositiveListener() {
                @Override
                public void onClick() {
                    ToastUtils.show(MainActivity.this, "再看看");
                }
            });
            dialog3.setNegativeListener(new DialogNegativeListener() {
                @Override
                public void onClick() {
                    ToastUtils.show(MainActivity.this, "退出");
                }
            });
            dialog3.initDialog("您确定现在退出app吗?", "退出", "再看看").show();
            break;
        default:
            break;
        }

你可能感兴趣的:(android)