ConfirmDialog.java
2.76 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
package com.studymachine.www.ui.dialog;
import android.content.Context;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import androidx.annotation.Nullable;
import androidx.annotation.StringRes;
import com.hjq.base.BaseDialog;
import com.studymachine.www.R;
import com.studymachine.www.aop.SingleClick;
/**
*
*
* time : 2018/12/2
* desc : 消息对话框
*/
public final class ConfirmDialog {
public static final class Builder
extends BaseDialog.Builder<UpdateDialog.Builder> {
@Nullable
private OnListener mListener;
private final TextView mMessageView;
private final Button mConfirmBtn,mCancelBtn;
public Builder(Context context) {
super(context);
setContentView(R.layout.confirm_dialog);
setAnimStyle(BaseDialog.ANIM_DEFAULT);
mMessageView = findViewById(R.id.tv_message_message);
mConfirmBtn = findViewById(R.id.tv_ui_confirm);
mCancelBtn = findViewById(R.id.tv_ui_cancel);
setOnClickListener(mConfirmBtn,mCancelBtn);
}
public Builder setTitle(@StringRes int id) {
return setTitle(getString(id));
}
public Builder setTitle(String title){
mMessageView.setText(title);
return this;
}
public Builder setCancelText(String title){
mCancelBtn.setText(title);
return this;
}
public Builder setConfirmText(String title){
mConfirmBtn.setText(title);
return this;
}
public Builder setListener(OnListener listener) {
mListener = listener;
return this;
}
@Override
public BaseDialog create() {
// 如果内容为空就抛出异常
if ("".equals(mMessageView.getText().toString())) {
throw new IllegalArgumentException("Dialog message not null");
}
return super.create();
}
@SingleClick
@Override
public void onClick(View view) {
if (view == mConfirmBtn) {
if (mListener == null) {
return;
}
mListener.onConfirm(getDialog());
dismiss();
} else if (view == mCancelBtn) {
if (mListener == null) {
return;
}
mListener.onCancel(getDialog());
dismiss();
}
}
}
public interface OnListener {
/**
* 点击确定时回调
*/
void onConfirm(BaseDialog dialog);
/**
* 点击取消时回调
*/
void onCancel(BaseDialog dialog);
}
}