package com.ab.fragment; import android.app.AlertDialog; import android.app.Dialog; import android.app.DialogFragment; import android.content.DialogInterface; import android.os.Bundle; import android.view.View; /** * © 2012 amsoft.cn * 名称:AbAlertDialogFragment.java * 描述:弹出框 * * @author 还如一梦中 * @version v1.0 * @date:2014-07-29 上午9:00:52 */ public class AbAlertDialogFragment extends DialogFragment { int mIcon; String mTitle; String mMessage; static View mContentView; static AbDialogOnClickListener mOnClickListener; /** * Create a new instance of AbDialogFragment. */ public static AbAlertDialogFragment newInstance(int icon,String title,String message,View view,AbDialogOnClickListener onClickListener) { AbAlertDialogFragment f = new AbAlertDialogFragment(); mOnClickListener = onClickListener; mContentView = view; Bundle args = new Bundle(); args.putInt("icon", icon); args.putString("title", title); args.putString("message", message); f.setArguments(args); return f; } @Override public Dialog onCreateDialog(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mIcon = getArguments().getInt("icon"); mTitle = getArguments().getString("title"); mMessage = getArguments().getString("message"); AlertDialog.Builder builder = new AlertDialog.Builder(getActivity(),AlertDialog.THEME_HOLO_LIGHT); if(mIcon > 0){ builder.setIcon(mIcon); } if(mTitle != null){ builder.setTitle(mTitle); } if(mMessage != null){ builder.setMessage(mMessage); } if(mContentView!=null){ builder.setView(mContentView); } if(mOnClickListener != null){ builder.setPositiveButton("确认", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { if(mOnClickListener != null){ mOnClickListener.onPositiveClick(); } } } ); builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { if(mOnClickListener != null){ mOnClickListener.onNegativeClick(); } } } ); } return builder.create(); } /** * Dialog事件的接口. */ public interface AbDialogOnClickListener { public void onPositiveClick(); public void onNegativeClick(); } }