package com.znv.linkup.view.dialog; import android.app.Dialog; import android.content.Context; import android.view.KeyEvent; import android.view.View; import android.widget.Button; import android.widget.TextView; import com.znv.linkup.R; /** * 自定义的警告框 * * @author yzb * */ public class ConfirmDialog extends Dialog { public ConfirmDialog(Context context) { super(context, R.style.CustomDialogStyle); setContentView(R.layout.confirm_dialog); setCancelable(false); setCanceledOnTouchOutside(false); setNegativeButton(null); setPositiveButton(null); } /** * 设置标题 * * @param title * 标题 * @return 警告框实例 */ public ConfirmDialog setTitle(String title) { TextView tvTitle = (TextView) findViewById(R.id.dialog_title); tvTitle.setText(title); return this; } /** * 设置信息 * * @param msg * 信息 * @return 警告框示例 */ public ConfirmDialog setMessage(String msg) { TextView tvMessage = (TextView) findViewById(R.id.dialog_message); tvMessage.setText(msg); return this; } /** * 设置确认按钮 * * @param text * 确认按钮文字 * @param listener * 确认操作 * @return 确认框实例 */ public ConfirmDialog setPositiveButton(final View.OnClickListener listener) { Button btn = (Button) findViewById(R.id.dialog_button_ok); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { cancel(); if (listener != null) { listener.onClick(null); } } }); return this; } /** * 设置取消按钮 * * @param text * 取消按钮文字 * @param listener * 取消操作 * @return 确认框实例 */ public ConfirmDialog setNegativeButton(final View.OnClickListener listener) { Button btn = (Button) findViewById(R.id.dialog_button_cancel); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { cancel(); if (listener != null) { listener.onClick(null); } } }); return this; } /** * 处理返回键 */ @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { Button btn = (Button) findViewById(R.id.dialog_button_cancel); btn.performClick(); return true; } return super.onKeyDown(keyCode, event); } }