一个可以重复使用的消息提示确认框,不用每次创建对话框,获取对话框的确定以及取消按钮,减少代码量,还能体现很好的封装性。

     java代码,创建自定义对话框基础类:

package com.xjw.translate;import android.app.Dialog;import android.content.Context;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.TextView;/**       * 项目名称:translate   * 实现功能:   * 类名称:ConfirmDialog    * 类描述:(该类的主要功能) * 创建人:徐纪伟  * E-mail: xujiwei558@126.com * 创建时间:2014年10月19日 下午7:28:39    * 修改人:    * 修改时间:    * 修改备注:    * @version     */public class ConfirmDialog extends Dialog implements android.view.View.OnClickListener{private Button btnOk,btnCancel;private TextView tvTitle,tvMessgae;private String title, message;private OnOkButtonClickListener listener;public ConfirmDialog(Context context) {super(context);// TODO Auto-generated constructor stub}public ConfirmDialog(Context context, String title, String message, OnOkButtonClickListener listener) {//设置对提示框的样式,比如去除边框背景,添加自定义图片等super(context,R.style.ConfirmDialog);this.title = title;this.message = message;this.listener = listener;}@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);//设置提示框的样式布局setContentView(R.layout.confirm_dialog);btnOk = (Button)findViewById(R.id.btn_ok);btnCancel = (Button)findViewById(R.id.btn_cancel);btnOk.setOnClickListener(this);btnCancel.setOnClickListener(this);tvTitle = (TextView)findViewById(R.id.tv_confirm_title);tvMessgae = (TextView)findViewById(R.id.tv_confirm_messgae);tvTitle.setText(title);tvMessgae.setText(message);}/** * 定义确定按钮和取消按钮的事件 */@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.btn_ok://点击确定按钮时,触发点击回调事件listener.OnOkButtonClick();break;case R.id.btn_cancel:dismiss();break;default:break;}}/*** @类名称: OnOkButtonClickListener* @描述: 使用接口回调的方式监听确定按钮点击事件* @throws * @author 徐纪伟* 2014年10月24日下午10:12:29 */public interface OnOkButtonClickListener{public void OnOkButtonClick();}public Button getBtnOk() {return btnOk;}public void setBtnOk(Button btnOk) {this.btnOk = btnOk;}public Button getBtnCancel() {return btnCancel;}public void setBtnCancel(Button btnCancel) {this.btnCancel = btnCancel;}public String getTitle() {return title;}public void setTitle(String title) {this.title = title;}public String getMessage() {return message;}public void setMessage(String message) {this.message = message;}public OnOkButtonClickListener getListener() {return listener;}public void setListener(OnOkButtonClickListener listener) {this.listener = listener;}}

 

    提示框布局文件confirm_dialog.xml,里面包含标题,显示内容,以及两个按钮

<?xml version="1.0" encoding="utf-8"?>                                                                     

       下面是提示框的样式:

    

        使用方法:

         

ConfirmDialog confirmDialog = new ConfirmDialog(context, resource.getString(R.string.confirm_title_normal), resource.getString(R.string.clear_history), new ConfirmDialog.OnOkButtonClickListener() {@Overridepublic void OnOkButtonClick() {//此处可以填写确定按钮的事件响应}});confirmDialog.show();

 

      效果预览:



 

更多相关文章

  1. android封装Toast
  2. log函数封装,让WIN32和android ndk共用相同的log函数,方便调试
  3. 初学Android,使用ContentResolver获取自己实现的ContentProvider
  4. Android(安卓)Studio 中 FAILURE: Build failed with an excepti
  5. android一些控件
  6. Android(安卓)覆盖AlertDialog里的按钮事件并显示Toast
  7. android项目的出现小红叉,如何重构
  8. Android(安卓)开发TCP协议时,报错NetworkOnMainThreadException
  9. Android(安卓)-- 获取View宽高

随机推荐

  1. Android(安卓)URI简介
  2. Android Notes(06) - Touch事件分发响应
  3. android studio logcat 打印不出信息
  4. 在Windows7下构建Android的开发环境
  5. [Android] - 官方轉換dp, sp 至 pixel的
  6. 如何打log 检查 Android CTS failure
  7. Camera源码分析(android2.2)
  8. [置顶] Android(安卓)怎么退出整个应用程
  9. Android崩溃
  10. 在Windows上搭建Android的JAVA开发环境图