下面列出了android.app.DatePickerDialog.OnDateSetListener#android.widget.TimePicker 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
/**
* Creates a new time picker dialog with the specified theme.
* <p>
* The theme is overlaid on top of the theme of the parent {@code context}.
* If {@code themeResId} is 0, the dialog will be inflated using the theme
* specified by the
* {@link android.R.attr#timePickerDialogTheme android:timePickerDialogTheme}
* attribute on the parent {@code context}'s theme.
*
* @param context the parent context
* @param themeResId the resource ID of the theme to apply to this dialog
* @param listener the listener to call when the time is set
* @param hourOfDay the initial hour
* @param minute the initial minute
* @param is24HourView Whether this is a 24 hour view, or AM/PM.
*/
public TimePickerDialog(Context context, int themeResId, OnTimeSetListener listener,
int hourOfDay, int minute, boolean is24HourView) {
super(context, resolveDialogTheme(context, themeResId));
mTimeSetListener = listener;
mInitialHourOfDay = hourOfDay;
mInitialMinute = minute;
mIs24HourView = is24HourView;
final Context themeContext = getContext();
final LayoutInflater inflater = LayoutInflater.from(themeContext);
final View view = inflater.inflate(R.layout.time_picker_dialog, null);
setView(view);
setButton(BUTTON_POSITIVE, themeContext.getString(R.string.ok), this);
setButton(BUTTON_NEGATIVE, themeContext.getString(R.string.cancel), this);
setButtonPanelLayoutHint(LAYOUT_HINT_SIDE);
mTimePicker = (TimePicker) view.findViewById(R.id.timePicker);
mTimePicker.setIs24HourView(mIs24HourView);
mTimePicker.setCurrentHour(mInitialHourOfDay);
mTimePicker.setCurrentMinute(mInitialMinute);
mTimePicker.setOnTimeChangedListener(this);
}
NumberPadTimePickerDialogViewDelegate(@NonNull DialogInterface delegator,
@NonNull Context context, @NonNull NumberPadTimePicker timePicker,
@Nullable View okButton, @Nullable OnTimeSetListener listener, boolean is24HourMode) {
mDelegator = checkNotNull(delegator);
mTimePicker = checkNotNull(timePicker);
mOkButton = okButton;
mTimeSetListener = listener;
mDummy = new TimePicker(context);
// TODO: If this model is needed by other classes, make it a singleton.
final LocaleModel localeModel = new LocaleModel(context);
mPresenter = new NumberPadTimePickerDialogPresenter(this, localeModel, is24HourMode);
final OnBackspaceClickHandler backspaceClickHandler = new OnBackspaceClickHandler(mPresenter);
mTimePicker.setOnBackspaceClickListener(backspaceClickHandler);
mTimePicker.setOnBackspaceLongClickListener(backspaceClickHandler);
mTimePicker.setOnNumberKeyClickListener(new OnNumberKeyClickListener(mPresenter));
mTimePicker.setOnAltKeyClickListener(new OnAltKeyClickListener(mPresenter));
}
private void displayTimePicker(final EditText destination) {
TimePickerFragment timePickerFragment = new TimePickerFragment();
timePickerFragment.setOnTimeSetListener(new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
Calendar calendar = Calendar.getInstance();
calendar.set(calendar.HOUR_OF_DAY, hourOfDay);
calendar.set(Calendar.MINUTE, minute);
String displayTime = simpleTimeFormat.format(calendar.getTime());
destination.setText(displayTime);
switch (destination.getId()) {
case R.id.ane_start_time:
newEventPresenter.setStartTime(hourOfDay, minute);
break;
case R.id.ane_end_time:
newEventPresenter.setEndTime(hourOfDay, minute);
break;
}
}
});
timePickerFragment.show(getSupportFragmentManager(), TimePickerFragment.TAG);
}
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
Calendar calendar = Calendar.getInstance();
switch (mTimeType) {
case R.id.editTextStartTime:
calendar.setTime(mStartDate);
calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), hourOfDay, minute);
mStartDate.setTime(calendar.getTimeInMillis());
break;
case R.id.editTextEndTime:
calendar.setTime(mEndDate);
calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), hourOfDay, minute);
mEndDate.setTime(calendar.getTimeInMillis());
break;
}
initDates();
}
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
mCalendarCurrentTime.set(Calendar.HOUR_OF_DAY, hourOfDay);
mCalendarCurrentTime.set(Calendar.MINUTE, minute);
String myFormatTime = "HH:mm a"; // custom format
SimpleDateFormat sdfTime = new SimpleDateFormat(myFormatTime, Locale.getDefault());
// act only if clicked position is a valid index
if (clickedPosition >= 0) {
((FormElement) mDataset.get(clickedPosition)).setValue(sdfTime.format(mCalendarCurrentTime.getTime()));
notifyItemChanged(clickedPosition);
clickedPosition = -1;
}
}
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
mCalendarCurrentTime.set(Calendar.HOUR_OF_DAY, hourOfDay);
mCalendarCurrentTime.set(Calendar.MINUTE, minute);
String myFormatTime = "HH:mm"; // custom format
SimpleDateFormat sdfTime = new SimpleDateFormat(myFormatTime, Locale.getDefault());
// act only if clicked position is a valid index
if (clickedPosition >= 0) {
((FormElement) mDataset.get(clickedPosition)).setValue(sdfTime.format(mCalendarCurrentTime.getTime()));
notifyItemChanged(clickedPosition);
clickedPosition = -1;
}
}
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
mCalendarCurrentTime.set(Calendar.HOUR_OF_DAY, hourOfDay);
mCalendarCurrentTime.set(Calendar.MINUTE, minute);
String myFormatTime = "HH:mm"; // custom format
SimpleDateFormat sdfTime = new SimpleDateFormat(myFormatTime, Locale.getDefault());
// act only if clicked position is a valid index
if (clickedPosition >= 0) {
FormElementDateTime fe = (FormElementDateTime) mDataset.get(clickedPosition);
fe.setValue(mCalendarCurrentTime.getTime());
DateTimeCallBack dateTimeCallBack = fe.getCallback();
dateTimeCallBack.callbackDateTimeReturn(mCalendarCurrentDate.getTime(), fe, fe.getTag());
notifyItemChanged(clickedPosition);
clickedPosition = -1;
}
}
private void setupTimePicker(){
// Get Current Time
Calendar c = Calendar.getInstance();
int mHour = c.get(Calendar.HOUR_OF_DAY);
int mMinute = c.get(Calendar.MINUTE);
// Launch Time Picker Dialog
TimePickerDialog timePickerDialog = new TimePickerDialog(this,R.style.TimePickerTheme,
new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay,
int minute) {
Toast.makeText(AddTrip.this,Integer.toString(hourOfDay),Toast.LENGTH_SHORT).show();
String time_string1=Integer.toString(hourOfDay)+":"+Integer.toString(minute);
time.setText(time_string1);
time_string=time_string1;
}
}, mHour, mMinute, false);
timePickerDialog.show();
}
public void showStartTimePickerDialog(View v) {
TimePickerFragment newFragment = new TimePickerFragment();
newFragment.setData(new TimePickerDialog.OnTimeSetListener (){
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
start.set(Calendar.HOUR_OF_DAY, hourOfDay);
start.set(Calendar.MINUTE, minute);
start.set(Calendar.SECOND, 0);
start.set(Calendar.MILLISECOND, 0);
Long newStart = Long.valueOf(start.getTimeInMillis());
updateValues.put(ActivityDiaryContract.Diary.START, newStart);
updateDateTimes();
}
}
, start.get(Calendar.HOUR_OF_DAY), start.get(Calendar.MINUTE));
newFragment.show(getSupportFragmentManager(), "startTimePicker");
}
/**
* Sets the time in a given {@link TimePicker}.
*
* @param timePicker the {@code TimePicker} object.
* @param hour the hour e.g. 15
* @param minute the minute e.g. 30
*/
public void setTimePicker(final TimePicker timePicker, final int hour, final int minute) {
if(timePicker != null){
Activity activity = activityUtils.getCurrentActivity(false);
if(activity != null){
activity.runOnUiThread(new Runnable()
{
public void run()
{
try{
timePicker.setCurrentHour(hour);
timePicker.setCurrentMinute(minute);
}catch (Exception ignored){}
}
});
}
}
}
/**
* 弹出时间选择对话框
* <p>
* 参数:
* title:标题
* datetime 指定时间 yyyy-MM-dd HH:mm或者HH:mm
* 返回:
* time:格式:HH:mm
*/
public static void pickTime(IQuickFragment webLoader, WebView wv, JSONObject param, final Callback callback) {
String title = param.optString("title");
String date = param.optString("datetime");
final Calendar calendar = Calendar.getInstance();
if (!TextUtils.isEmpty(date)) {
if (date.contains(" ")) {
calendar.setTime(DateUtil.convertString2Date(date, "yyyy-MM-dd HH:mm"));
} else {
calendar.setTime(DateUtil.convertString2Date(date, "HH:mm"));
}
}
DialogUtil.pickTime(webLoader.getPageControl().getActivity(), title, calendar, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
calendar.set(Calendar.HOUR_OF_DAY, hourOfDay);
calendar.set(Calendar.MINUTE, minute);
String chooseTime = DateUtil.convertDate(calendar.getTime(), "HH:mm");
Map<String, Object> map = new HashMap<>();
map.put("time", chooseTime);
callback.applySuccess(map);
}
});
}
private void showTimePicker(final boolean startTime) {
final Calendar dateTime = startTime ? mEvent.localStart : mEvent.localEnd;
new TimePickerDialog(getContext(),
new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
dateTime.set(Calendar.HOUR_OF_DAY, hourOfDay);
dateTime.set(Calendar.MINUTE, minute);
mSwitchAllDay.setChecked(false);
setTime(startTime);
}
},
dateTime.get(Calendar.HOUR_OF_DAY),
dateTime.get(Calendar.MINUTE),
false)
.show();
}
private void showTimePicker() {
final Calendar calendar = Calendar.getInstance();
String startTime = QueryPreferences.getSettingServiceStartTime(getContext());
if (startTime != null) {
calendar.setTimeInMillis(Long.parseLong(startTime));
}
TimePickerDialog timePickerDialog = new TimePickerDialog(getContext(),
new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker timePicker, int hourOfDay, int minute) {
calendar.set(Calendar.HOUR_OF_DAY, hourOfDay);
calendar.set(Calendar.MINUTE, minute);
QueryPreferences.setSettingServiceStartTime(getContext(), calendar.getTimeInMillis() + "");
mSettingServiceStartTime.setSummary(SERVICE_START_TIME_FORMAT.format(calendar.getTime()));
}
},
calendar.get(Calendar.HOUR_OF_DAY),
calendar.get(Calendar.MINUTE),
true);
timePickerDialog.setTitle("设置时间");
timePickerDialog.show();
}
/** Returns a {@link ViewAction} that sets a time on a {@link TimePicker}. */
public static ViewAction setTime(final int hours, final int minutes) {
return new ViewAction() {
@Override
public void perform(UiController uiController, View view) {
final TimePicker timePicker = (TimePicker) view;
timePicker.setCurrentHour(hours);
timePicker.setCurrentMinute(minutes);
}
@Override
public String getDescription() {
return "set time";
}
@SuppressWarnings("unchecked")
@Override
public Matcher<View> getConstraints() {
return allOf(isAssignableFrom(TimePicker.class), isDisplayed());
}
};
}
public void onClickFromTime(View v) {
sharedPreferences = G.context.getSharedPreferences(SHP_SETTING.FILE_NAME, MODE_PRIVATE);
int hour = sharedPreferences.getInt(SHP_SETTING.KEY_SELECTED_HOUR_FROM, 8);
int minute = sharedPreferences.getInt(SHP_SETTING.KEY_SELECTED_MINUTE_FROM, 0);
TimePickerDialog mTimePicker = new TimePickerDialog(G.currentActivity, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker timePicker, int selectedHour, int selectedMinute) {
long fNow = (selectedHour * 3600000) + (selectedMinute * 60000);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putInt(SHP_SETTING.KEY_SELECTED_HOUR_FROM, selectedHour);
editor.putInt(SHP_SETTING.KEY_SELECTED_MINUTE_FROM, selectedMinute);
editor.putLong(SHP_SETTING.KEY_SELECTED_MILISECOND_FROM, fNow);
editor.apply();
callbackFromTime.set("" + selectedHour + ":" + selectedMinute);
}
}, hour, minute, true);//Yes 24 hour time
mTimePicker.setTitle(G.context.getResources().getString(R.string.Select_Time));
mTimePicker.show();
}
@Override
public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
Time time = new Time();
time.set(0, mTimePicker.getCurrentMinute(),
mTimePicker.getCurrentHour(), mDatePicker.getDayOfMonth(),
mDatePicker.getMonth(), mDatePicker.getYear());
if (time.toMillis(true) < mMinTimeMillis) {
time.set(mMinTimeMillis);
} else if (time.toMillis(true) > mMaxTimeMillis) {
time.set(mMaxTimeMillis);
}
mTimePicker.setCurrentHour(time.hour);
mTimePicker.setCurrentMinute(time.minute);
}
@Override
protected View onCreateDialogView() {
picker = new TimePicker(getContext());
picker.setIs24HourView(true);
return (picker);
}
/**
* @param context The context the dialog is to run in.
* @param callBack How the parent is notified that the date is set.
* @param year The initial year of the dialog.
* @param monthOfYear The initial month of the dialog.
* @param dayOfMonth The initial day of the dialog.
*/
public DateTimePickerDialog(Context context,
OnDateTimeSetListener callBack,
int year,
int monthOfYear,
int dayOfMonth,
int hourOfDay, int minute, boolean is24HourView,
double min, double max) {
super(context, 0);
mMinTimeMillis = (long) min;
mMaxTimeMillis = (long) max;
mCallBack = callBack;
setButton(BUTTON_POSITIVE, context.getText(
R.string.date_picker_dialog_set), this);
setButton(BUTTON_NEGATIVE, context.getText(android.R.string.cancel),
(OnClickListener) null);
setIcon(0);
setTitle(context.getText(R.string.date_time_picker_dialog_title));
Context dialogContext = getDialogContext(context);
LayoutInflater inflater =
(LayoutInflater) dialogContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.date_time_picker_dialog, null);
setView(view);
mDatePicker = (DatePicker) view.findViewById(R.id.date_picker);
DateDialogNormalizer.normalize(mDatePicker, this,
year, monthOfYear, dayOfMonth, mMinTimeMillis, mMaxTimeMillis);
mTimePicker = (TimePicker) view.findViewById(R.id.time_picker);
mTimePicker.setIs24HourView(is24HourView);
setHour(mTimePicker, hourOfDay);
setMinute(mTimePicker, minute);
mTimePicker.setOnTimeChangedListener(this);
onTimeChanged(mTimePicker, getHour(mTimePicker), getMinute(mTimePicker));
}
private TimePickerDialog showTimePicker() {
TimePickerDialog timePicker = new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
mCalendar.set(Calendar.HOUR_OF_DAY, hourOfDay);
mCalendar.set(Calendar.MINUTE, minute);
updateTimeButtonText();
}
}, mCalendar.get(Calendar.HOUR_OF_DAY), mCalendar.get(Calendar.MINUTE), true);
return timePicker;
}
private void setDoNotDisturbTime(final boolean from, final TextView textView) {
long timeMillis = System.currentTimeMillis();
if (from) {
String doNotDisturbFrom = PreferenceUtils.getNotificationsDoNotDisturbFrom();
if (doNotDisturbFrom.length() > 0) {
timeMillis = Long.valueOf(doNotDisturbFrom);
}
} else {
String doNotDisturbTo = PreferenceUtils.getNotificationsDoNotDisturbTo();
if (doNotDisturbTo.length() > 0) {
timeMillis = Long.valueOf(doNotDisturbTo);
}
}
new TimePickerDialog(SettingsActivity.this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker timePicker, int hour, int min) {
mCalendar.clear();
mCalendar.set(Calendar.HOUR_OF_DAY, hour);
mCalendar.set(Calendar.MINUTE, min);
long millis = mCalendar.getTimeInMillis();
if (from) {
if (!String.valueOf(millis).equals(PreferenceUtils.getNotificationsDoNotDisturbFrom())) {
PreferenceUtils.setNotificationsDoNotDisturbFrom(String.valueOf(millis));
saveDoNotDisturb(true);
}
} else {
if (!String.valueOf(millis).equals(PreferenceUtils.getNotificationsDoNotDisturbTo())) {
PreferenceUtils.setNotificationsDoNotDisturbTo(String.valueOf(millis));
saveDoNotDisturb(true);
}
}
textView.setText(DateUtils.formatTimeWithMarker(millis));
}
}, DateUtils.getHourOfDay(timeMillis), DateUtils.getMinute(timeMillis), true).show();
}
@Test
public void openWithDateShouldOpenDialogWithThatDateAndTime() {
final Calendar calendar = Calendar.getInstance();
calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH) + 1);
mTravelTimePicker.setTimeType(RouteOptions.TimeType.DEPARTURE);
mTravelTimePicker.open(getSupportFragmentManager(), calendar.getTime());
final Dialog dialog = mTravelTimePicker.getDialog();
final DatePicker picker = dialog.findViewById(R.id.travel_date);
assertThat(picker.getYear(), equalTo(calendar.get(Calendar.YEAR)));
assertThat(picker.getMonth(), equalTo(calendar.get(Calendar.MONTH)));
assertThat(picker.getDayOfMonth(), equalTo(calendar.get(Calendar.DAY_OF_MONTH)));
final TimePicker timePicker = dialog.findViewById(R.id.travel_time);
assertThat(timePicker.getCurrentHour(), equalTo(calendar.get(Calendar.HOUR_OF_DAY)));
assertThat(timePicker.getCurrentMinute(), equalTo(calendar.get(Calendar.MINUTE)));
}
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute)
{
mDateTime.hour = hourOfDay;
mDateTime.minute = minute;
mUpdated = true;
mAdapter.validateAndSet(mValues, mDateTime);
}
private void pickTime() {
new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
chosenDate.set(Calendar.HOUR_OF_DAY, hourOfDay);
chosenDate.set(Calendar.MINUTE, minute);
updateDate();
}
}, chosenDate.get(Calendar.HOUR_OF_DAY), chosenDate.get(Calendar.MINUTE), true).show();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View myView = inflater.inflate(R.layout.picker_fragment, container, false);
tv_date = myView.findViewById(R.id.tv_date);
tv_time = myView.findViewById(R.id.tv_time);
btn_date = myView.findViewById(R.id.btn_date);
btn_date.setOnClickListener(this);
btn_time = myView.findViewById(R.id.btn_time);
btn_time.setOnClickListener(this);
//create the date picker listener, which is used later when the picker is called.
d = new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
dateAndTime.set(Calendar.YEAR, year);
dateAndTime.set(Calendar.MONTH, monthOfYear);
dateAndTime.set(Calendar.DAY_OF_MONTH, dayOfMonth);
tv_date.setText(fmtDate.format(dateAndTime.getTime()));
}
};
//create the time picker listener
t = new TimePickerDialog.OnTimeSetListener() {
public void onTimeSet(TimePicker view, int selectedHour, int selectedMinute) {
dateAndTime.set(Calendar.HOUR, selectedHour);
dateAndTime.set(Calendar.MINUTE, selectedMinute);
// set current time into textview
tv_time.setText(fmtTime.format(dateAndTime.getTime()));
}
};
return myView;
}
@Override
protected boolean validateAndSetInput(View view) {
TimePicker timePicker = (TimePicker) view;
Calendar cal = Calendar.getInstance();
cal.setTime(time);
cal.set(Calendar.HOUR_OF_DAY, timePicker.getCurrentHour());
cal.set(Calendar.MINUTE, timePicker.getCurrentMinute());
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
setValue(cal.getTime(), true);
return true;
}
/**
* Sets the time in a TimePicker matching the specified index.
*
* @param index the index of the {@link TimePicker}. {@code 0} if only one is available
* @param hour the hour e.g. 15
* @param minute the minute e.g. 30
*/
public void setTimePicker(int index, int hour, int minute) {
if(config.commandLogging){
Log.d(config.commandLoggingTag, "setTimePicker("+index+", "+hour+", "+minute+")");
}
setTimePicker(waiter.waitForAndGetView(index, TimePicker.class), hour, minute);
}
@NonNull
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
timePicker = new TimePicker(getContext());
timePicker.setIs24HourView(!SettingsUtils.use12HourClock(getContext()));
return timePicker;
}
protected void initViews( final Context context, View dialogContent )
{
AlarmClockItem.AlarmTimeZone.initDisplayStrings(context);
modeAdapter = new ArrayAdapter<>(context, R.layout.layout_listitem_oneline, AlarmClockItem.AlarmTimeZone.values());
modeAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
modePicker = (Spinner)dialogContent.findViewById(R.id.modepicker);
modePicker.setAdapter(modeAdapter);
modePicker.setSelection(modeAdapter.getPosition(this.mode));
timePicker = (TimePicker)dialogContent.findViewById(R.id.timepicker);
setTimeChangedListener();
}
/**
* 时间选择对话框
*
* @param con 上下文
* @param title 标题
* @param listener 选择事件
* @param cal 默认时间
*/
public static void pickTime(Context con, String title, Calendar cal, final OnTimeSetListener listener) {
LinearLayout ll = new LinearLayout(con);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
ll.setLayoutParams(layoutParams);
ll.setOrientation(LinearLayout.VERTICAL);
//添加一条线
LinearLayout line = new LinearLayout(con);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, 1);
line.setBackgroundColor(con.getResources().getColor(R.color.line));
line.setLayoutParams(lp);
ll.addView(line);
//添加选择器控件
final TimePicker timePicker = new TimePicker(con, null, themeId);
timePicker.setLayoutParams(layoutParams);
timePicker.setCurrentHour(cal.get(Calendar.HOUR_OF_DAY));
timePicker.setCurrentMinute(cal.get(Calendar.MINUTE));
timePicker.setIs24HourView(true);
ll.addView(timePicker);
QuickDialog.Builder builder = new QuickDialog.Builder(con);
builder.setContentView(ll);
builder.setTitle(title);
builder.setPositiveButton(R.string.confirm, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
listener.onTimeSet(timePicker, timePicker.getCurrentHour(), timePicker.getCurrentMinute());
}
});
builder.create().show();
}
@Override
protected View onCreateDialogView() {
int defaultValue = getKey().equals("night_mode_start") ? 1320 : 420;
int value = getPersistedInt(defaultValue);
mTimePicker = new TimePicker(getContext());
mTimePicker.setCurrentHour((int) Math.floor(value / 60));
mTimePicker.setCurrentMinute((int) Math.floor(value % 60));
mTimePicker.setIs24HourView(DateFormat.is24HourFormat(getContext().getApplicationContext()));
return mTimePicker;
}