选择时间对话框,在点击对话框外面的时候对话框不会自动关闭
public void showTimeDialog() {
View view = View.inflate(this, R.layout.dialog_datepicker, null);
final TimePicker timePicker = (TimePicker) view.findViewById(R.id.timepicker_appoint_detail_activity);
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(System.currentTimeMillis());
timePicker.setIs24HourView(true);//设置为24小时制
timePicker.setCurrentMinute(Calendar.MINUTE);
AlertDialog dialog = new AlertDialog.Builder(AppointDetailActivity.this).setTitle("请选择预约时间").setView(view).setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
StringBuffer sb = new StringBuffer();
if (timePicker.getCurrentHour() < 10) {
sb.append("0").append(timePicker.getCurrentHour());
if (timePicker.getCurrentMinute() < 10) {
sb.append(":").append("0").append(timePicker.getCurrentMinute());
} else {
sb.append(":").append(timePicker.getCurrentMinute());
}
} else if (timePicker.getCurrentMinute() < 10) {
sb.append(timePicker.getCurrentHour()).append(":").append("0").append(timePicker.getCurrentMinute());
} else {
sb.append(timePicker.getCurrentHour()).append(":").append(timePicker.getCurrentMinute());
}
appointTimeBu.setText(sb.toString());
}
}).setNegativeButton("取消", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int arg1) {
dialog.cancel();
}
}).create();
dialog.setCanceledOnTouchOutside(false);//设置此行的目的是在点击本对话框以外的内容时,该对话框不会自动关闭
dialog.show();
}
R.layout.dialog_datepicker//布局文件,用来展示对话框页面
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TimePicker
android:id="@+id/timepicker_appoint_detail_activity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center" />
</LinearLayout>