/**
* 弹出日期时间选择框方法
*
* @param inputDate
* :为需要设置的日期时间文本编辑框
*
* @param title
* : 对话框标题
*
* @param setMaxDate
* : true 设置最大值为当天
*
* @return
*/
public AlertDialog dateTimePicKDialog(final TextView inputDate,
String title, boolean setMaxDate) {
LinearLayout dateTimeLayout = (LinearLayout) activity
.getLayoutInflater().inflate(R.layout.common_datetime, null);
datePicker = (DatePicker) dateTimeLayout.findViewById(R.id.datepicker);
String initDateTime = null;
String data1 = CommonUtils.getTvResult(inputDate);
if (!TextUtils.isEmpty(data1)) {
String year = data1.substring(0, data1.indexOf("-"));
String month = data1.substring(data1.indexOf("-") + 1,
data1.lastIndexOf("-"));
String day = data1.substring(data1.lastIndexOf("-") + 1,
data1.length());
initDateTime = year + "年" + month + "月" + day + "日";
}
init(datePicker, initDateTime, setMaxDate);
ad = new AlertDialog.Builder(activity)
.setTitle(title)
.setView(dateTimeLayout)
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
// 焦点释放处理
if (datePicker instanceof DatePicker) {
((DatePicker) datePicker).clearFocus();
}
inputDate.setText(dateTime);
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
inputDate.setText("");
}
}).show();
onDateChanged(null, 0, 0, 0);
return ad;
}
public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
onDateChanged(null, 0, 0, 0);
}
public void onDateChanged(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
// 获得日历实例
Calendar calendar = Calendar.getInstance();
calendar.set(datePicker.getYear(), datePicker.getMonth(),
datePicker.getDayOfMonth());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
dateTime = sdf.format(calendar.getTime());
// ad.setTitle(dateTime);
}