自定义dialog 通过DialogFragment

自定义 DialogFragment

android.app.DialogFragment;

public class ProgressRemarkDialog extends DialogFragment  {

	private String paraRemark;
	private EditText mDlgremark;
	private Button mOkBtn,mCancelBtn;
	private ProgressRemarkDialogListener mDlgListener;
	private Context mcontext;
	private View view;
	
	public ProgressRemarkDialog(Context context,ProgressRemarkDialogListener dialogListener) {
		mcontext=context;
		mDlgListener=dialogListener;
	}
	
	@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
		//去掉标题栏
		getDialog().requestWindowFeature(Window.FEATURE_NO_TITLE);
		getDialog().getWindow().setBackgroundDrawableResource(android.R.color.transparent);
		view=inflater.inflate(R.layout.mytask_details_seekbar_askdialog, container);
//		view.setBackgroundResource(resid)
		initView();
		return view;
	}
	
	private void initView() {
		mDlgremark=(EditText)view.findViewById(R.id.task_detail_dlg_et_processmemo);
		mOkBtn=(Button)view.findViewById(R.id.task_detail_dlg_btn_ok);
		mOkBtn.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				//获取输入的内容
				paraRemark=mDlgremark.getText().toString();
				//传出参数给调用者 父activity,也就是将对话框值传给 父activity
				mDlgListener.onClick(v, paraRemark);
				dismiss();
			}
		});
		mCancelBtn=(Button)view.findViewById(R.id.task_detail_dlg_btn_cancel);
		mCancelBtn.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				mDlgListener.onClick(v, "");
				dismiss();
			}
		});
	}
	//回调
	public interface ProgressRemarkDialogListener{
		public void onClick(View view,String paraRemark);   
	}
}

这里是调用

ProgressRemarkDialog dlg=new ProgressRemarkDialog(mContext, new ProgressRemarkDialogListener() {
					@Override
					public void onClick(View view, String paraRemark) {
						switch(view.getId()){     
		                    case R.id.task_detail_dlg_btn_ok:  
<span style="white-space:pre">				</span>//这是从dlg 传出来的值
					String completeDegreeDesc=paraRemark;
								
		                        break;     
		                    case R.id.task_detail_dlg_btn_cancel:  
		                    	
		                        break;     
						}
					}
				});
				dlg.show(getFragmentManager(), "");

ok ,如果有不足之处,希望大家指正,谢谢啦


参照了一下 两个大神的博客

http://blog.csdn.net/lmj623565791/article/details/37815413/   红洋大笑

http://blog.csdn.net/harvic880925/article/details/42712777  harvic880925  和这位仁兄的



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值