version:1.0.0
update:更换包名 bugfixes:
This commit is contained in:
140
app/src/main/java/com/xxpatx/os/dialog/EditContactDialog.java
Normal file
140
app/src/main/java/com/xxpatx/os/dialog/EditContactDialog.java
Normal file
@@ -0,0 +1,140 @@
|
||||
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 Context mContext;
|
||||
|
||||
public EditContactDialog(Context context) {
|
||||
super(context, R.style.CustomDialog);
|
||||
this.mContext = context;
|
||||
}
|
||||
|
||||
|
||||
@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 {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user