android中调用系统日期对话框

事情:

今天需要调用系统的日期弹出框,之前搞过,没做记录,忘了。毁的肠子都青了。百度..了一下.,十多篇文章皆出自一人之手,但是SDK提示已过期。继续找百度,找到一篇比较符合我的情况的。改吧改吧效果还行。

解决:

      1. 弹出框设置

	/*
	 * 弹出日期选择框
	 */
	private void showDateDialog() {
		//阻止软键盘弹出框
		birthday.setInputType(InputType.TYPE_NULL);
		//初始化日期弹出框
		String birth = birthday.getText().toString();
		int year = 1990;
		int month = 0;
		int day = 1;
		if(!StringUtils.isEmptyOrNull(birth)){
			String [] sub = birth.split("-");
			if(sub.length==3){
				year = Integer.parseInt(sub[0]);
				month = Integer.parseInt(sub[1])-1;
				day = Integer.parseInt(sub[2]);
			}
		}
		
		new DatePickerDialog(PersonalInfoActivity.this, new DatePickerDialog.OnDateSetListener() {
			@Override
			public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
				int month = monthOfYear+1;
				int day = dayOfMonth;
				String monStr = ((month<10) ? "0":"")+month;
				String dayStr = ((day<10) ? "0":"")+day;
				birthday.setText(year+"-"+monStr+"-"+dayStr);
			}
		}, year, month, day).show();
	}

2. 控件的监听事件

birthday.setOnFocusChangeListener(new View.OnFocusChangeListener() {
			@Override
			public void onFocusChange(View v, boolean hasFocus) {
			  if(hasFocus){
                             showDateDialog();
                          }
				
			}
		});
		birthday.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View v) {
				 showDateDialog();
			}
		});
3.弹出框的效果



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值