Files
XiaoxintongSystemOS/app/src/main/java/com/xxpatx/os/dialog/EditContactDialog.java
tongtongstudio 261016b9bd version:1.1.5
update:
bugfixes:优化闹钟自动接听
2024-08-19 10:30:50 +08:00

150 lines
3.8 KiB
Java

package com.xxpatx.os.dialog;
import android.content.Context;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.TextView;
import androidx.appcompat.app.AlertDialog;
import androidx.constraintlayout.widget.ConstraintLayout;
import com.xxpatx.os.R;
/**
* description:自定义dialog
*/
public class EditContactDialog extends AlertDialog {
private TextView tvPhoneNumber;
private ConstraintLayout clEdit, clDelete, clCancel;
private String mPhoneNumber;
private boolean hideDelete = false;
private Context mContext;
public EditContactDialog(Context context) {
super(context, R.style.CustomDialog);
this.mContext = context;
}
public void setHideDelete(boolean hideDelete) {
this.hideDelete = hideDelete;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.dialog_edit_contact);
//按空白处不能取消动画
setCanceledOnTouchOutside(true);
//初始化界面控件
initView();
//初始化界面数据
refreshView();
//初始化界面控件的事件
initEvent();
}
/**
* 初始化界面的确定和取消监听器
*/
private void initEvent() {
//编辑按钮被点击后,向外界提供监听
clEdit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (onClickBottomListener != null) {
onClickBottomListener.onEditClick();
}
}
});
//删除按钮被点击后,向外界提供监听
clDelete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (onClickBottomListener != null) {
onClickBottomListener.onDeleteClick();
}
}
});
//取消按钮被点击后,向外界提供监听
clCancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (onClickBottomListener != null) {
onClickBottomListener.onCancelClick();
}
}
});
}
/**
* 初始化界面控件的显示数据
*/
private void refreshView() {
//如果用户自定了title和message
if (!TextUtils.isEmpty(mPhoneNumber)) {
tvPhoneNumber.setText(mPhoneNumber);
} else {
}
if (hideDelete) {
clDelete.setVisibility(View.GONE);
} else {
clDelete.setVisibility(View.VISIBLE);
}
}
@Override
public void show() {
super.show();
refreshView();
}
/**
* 初始化界面控件
*/
private void initView() {
tvPhoneNumber = findViewById(R.id.tv_phone_number);
clEdit = findViewById(R.id.cl_edit);
clDelete = findViewById(R.id.cl_delete);
clCancel = findViewById(R.id.cl_cancel);
}
/**
* 设置确定取消按钮的回调
*/
private OnClickBottomListener onClickBottomListener;
public void setOnClickBottomListener(OnClickBottomListener onClickBottomListener) {
this.onClickBottomListener = onClickBottomListener;
}
public interface OnClickBottomListener {
/**
* 点击编辑按钮事件
*/
void onEditClick();
/**
* 点击删除按钮事件
*/
void onDeleteClick();
/**
* 点击取消按钮事件
*/
void onCancelClick();
}
public EditContactDialog setPhoneNumber(String phoneNumber) {
mPhoneNumber = phoneNumber;
return this;
}
}