MessageDialog.java
2.28 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
package com.studymachine.www.ui.dialog;
import android.content.Context;
import android.view.View;
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 MessageDialog {
public static final class Builder
extends CommonDialog.Builder<Builder> {
@Nullable
private OnListener mListener;
private final TextView mMessageView;
public Builder(Context context) {
super(context);
setCustomView(R.layout.message_dialog);
mMessageView = findViewById(R.id.tv_message_message);
}
public Builder setMessage(@StringRes int id) {
return setMessage(getString(id));
}
public Builder setMessage(CharSequence text) {
mMessageView.setText(text);
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) {
int viewId = view.getId();
if (viewId == R.id.tv_ui_confirm) {
autoDismiss();
if (mListener == null) {
return;
}
mListener.onConfirm(getDialog());
} else if (viewId == R.id.tv_ui_cancel) {
autoDismiss();
if (mListener == null) {
return;
}
mListener.onCancel(getDialog());
}
}
}
public interface OnListener {
/**
* 点击确定时回调
*/
void onConfirm(BaseDialog dialog);
/**
* 点击取消时回调
*/
default void onCancel(BaseDialog dialog) {}
}
}