超简单哦!
需要传入一个上下文对象,还有一个EditText对象即可,可以根据自己的需要自行变成TextView等
本方法将会自动开启默认样式的DatePickerDialog,并把值直接settext到传入的EditText上。
仅需一行哦!是不是超简单!
public static void getDay(Context context,final EditText dateEdit){
Calendar calendar;
calendar = Calendar.getInstance();
new DatePickerDialog(context,
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year,
int month, int day) {
dateEdit.setText( String.valueOf(new StringBuilder()
.append(year)
.append("-")
.append((month + 1) < 10 ? "0"
+ (month + 1) : (month + 1))
.append("-")
.append((day < 10) ? "0" + day : day)));
}
}, calendar.get(Calendar.YEAR), calendar
.get(Calendar.MONTH), calendar
.get(Calendar.DAY_OF_MONTH)).show();
}
默认样式为yyyy-mm-dd,就是2018-04-12这种格式,需要其他格式的,可自行在本方法上修改
在使用本方法时,建议设置EditText
setInputType(InputType.TYPE_NULL); // 禁止输入(不弹出输入法)