“`
自定义对话框:
其中R.layout.dialog_prompt为自定义对话框样式dialog_prompt.xml文件。
public class PromptDialog extends Dialog implements View.OnClickListener {
private OnPromptDialogListener mButtonselcetor;
private Context mContext;
private TextView mTitleView;
private TextView messageView;
private Button mSureButton;
private Button mCancelButton;
private String mTitle;
private String mMessage;
private String mOkButtonMessage;
private String mCancelButtonMessage;
public PromptDialog(Context context) {
super(context);
this.mContext = context;
// TODO Auto-generated constructor stub
}
public PromptDialog(Context context, int theme) {
super(context, theme);
this.mContext = context;
}
public void setOnButtonListener(OnPromptDialogListener buttonListener) {
mButtonselcetor = buttonListener;
}
public static interface OnPromptDialogListener {
void onOk(PromptDialog promptDialog);
void onCancel(PromptDialog promptDialog);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.dialog_prompt);
mTitleView = (TextView) findViewById(R.id.prompt_dialog_title);
messageView = (TextView) findViewById(R.id.prompt_dialog_message);
mSureButton = (Button) findViewById(R.id.prompt_dialog_btn_ok);
mCancelButton = (Button) findViewById(R.id.prompt_dialog_btn_cancel);
mTitleView.setText(mTitle);
messageView.setText(mMessage);
mSureButton.setText(mOkButtonMessage);
mCancelButton.setText(mCancelButtonMessage);
mSureButton.setOnClickListener(this);
mCancelButton.setOnClickListener(this);
}
@Override
public void onClick(View v) {
if (v.getId() == R.id.prompt_dialog_btn_ok) {
mButtonselcetor.onOk(this);
} else {
mButtonselcetor.onCancel(this);
}
}
public static PromptDialog build(Context context,String title, String message,
String sureButtonMessage, String cancelButtonMessage,
OnPromptDialogListener onButtonSelectorListener) {
PromptDialog alertDialogView = new PromptDialog(context,R.style.AlertDialog);
alertDialogView.mTitle = title;
alertDialogView.mMessage = message;
alertDialogView.mOkButtonMessage = sureButtonMessage;
alertDialogView.mCancelButtonMessage = cancelButtonMessage;
alertDialogView.setOnButtonListener(onButtonSelectorListener);
return alertDialogView;
}
public static PromptDialog build(Context context, int titleId, int resMsgId, int resOkId,
int resCancelId, OnPromptDialogListener onAlertDialogListener) {
return build(context, context.getString(titleId), context.getString(resMsgId),
context.getString(resOkId), context.getString(resCancelId),
onAlertDialogListener);
}
}
调用:java文件
private void showBackDialog() {
PromptDialog.build(this,
“提示”,
“是否要退出?”,
“否”,
“是”,
new OnPromptDialogListener() {
@Override
public void onOk(final PromptDialog promptDialog) {
//点击是执行
}
@Override
public void onCancel(PromptDialog promptDialog) {
//点击否执行
// TODO Auto-generated method stub
promptDialog.cancel();
}
}).show();
}