android中调用系统日期对话框

来源:互联网 发布:秒杀淘宝手机版 编辑:程序博客网 时间:2024/06/04 00:23

事情:

今天需要调用系统的日期弹出框,之前搞过,没做记录,忘了。毁的肠子都青了。百度..了一下.,十多篇文章皆出自一人之手,但是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() {@Overridepublic 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() {@Overridepublic void onFocusChange(View v, boolean hasFocus) {  if(hasFocus){                             showDateDialog();                          }}});birthday.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) { showDateDialog();}});
3.弹出框的效果



0 0
原创粉丝点击