来自github上https://github.com/psvmc/ZJDateTimeSelecterNew,使用很方便,只需要将zjdatetimeselecter这个module导入项目,然后下面是使用方法和效果,在需要的地方设置下面的代码,传入一个显示时间的textView和标题。
public void choseDateTime(final TextView txtView,String str) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
LayoutInflater inflater = LayoutInflater.from(MainActivity.this);
final View timepickerview = inflater.inflate(cn.psvmc.zjdatetimeselecter.R.layout.datetimeselector, null);
final ZJDateTimeSelector dateTimeSelector = new ZJDateTimeSelector(timepickerview, true);
String time = txtView.getText().toString();
Calendar calendar = Calendar.getInstance();
if (ZJJudgeDate.isDate(time, "yyyy-MM-dd HH:mm")) {
try {
calendar.setTime(dateFormat.parse(time));
} catch (ParseException e) {
Log.e("时间", "choseDateTime " + e.getMessage());
}
}
dateTimeSelector.initDateTimePicker(calendar.getTime());
new AlertDialog.Builder(MainActivity.this)
.setTitle(str)
.setView(timepickerview)
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
txtView.setText(dateTimeSelector.getTime());
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
})
.show();
}
public void choseDate(final TextView txtView,String str) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
LayoutInflater inflater = LayoutInflater.from(MainActivity.this);
final View timepickerview = inflater.inflate(cn.psvmc.zjdatetimeselecter.R.layout.datetimeselector, null);
final ZJDateTimeSelector dateTimeSelector = new ZJDateTimeSelector(timepickerview, false);
String time = txtView.getText().toString();
Calendar calendar = Calendar.getInstance();
if (ZJJudgeDate.isDate(time, "yyyy-MM-dd")) {
try {
calendar.setTime(dateFormat.parse(time));
} catch (ParseException e) {
Log.e(str, "choseDate " + e.getMessage());
}
}
dateTimeSelector.initDateTimePicker(calendar.getTime());
new AlertDialog.Builder(MainActivity.this)
.setTitle(str)
.setView(timepickerview)
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
txtView.setText(dateTimeSelector.getTime());
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
})
.show();
}
还要注意一点,就是导入module后检查build.gradle里面引入包的版本是否和项目的有冲突,这个地方有可能会出错。