gpt4 book ai didi

java - 更改日期选择器对话框当前日期 - android java

转载 作者:太空宇宙 更新时间:2023-11-04 11:24:33 26 4
gpt4 key购买 nike

我可以更改当天的突出显示(以红色圈出)。这显示了当天的系统,但我的应用程序在不同的时区工作,所以我如何取消突出显示这一天或将其更改为另一天。

enter image description here

private void setDateTimeField() {
billDate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
billDateDialog.show();
billDateDialog.updateDate(billDateCal.get(Calendar.YEAR), billDateCal.get(Calendar.MONTH), billDateCal.get(Calendar.DAY_OF_MONTH));
}
});


billDateDialog = new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {

public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {

// Bills need to be set to 00.00 hours. DST needs to be ignored because changing to other timezones with no DST will cause problems with days changing to the day before.
long correctedTime = new DayLightSavings(year, monthOfYear, dayOfMonth, timeZone).getCorrectedTime();
billDateCal.setTimeInMillis(correctedTime);
billDate.setText(dateFormatter.format(billDateCal.getTimeInMillis()));
}

},billDateCal.get(Calendar.YEAR), billDateCal.get(Calendar.MONTH), billDateCal.get(Calendar.DAY_OF_MONTH));

// Do not allow selection of <= today's date.
// TODO Dialogue needs to be based on timezone selection.
long oneDay = TimeUnit.MILLISECONDS.convert(1, TimeUnit.DAYS);

long oldRawOffset = TimeZone.getDefault().getRawOffset();
long newRawOffset = timeZone.getRawOffset();
long rawOffset = oldRawOffset - newRawOffset;
// TODO fix dialogue to display the correct timezone current day.
billDateDialog.getDatePicker().setMinDate(Calendar.getInstance().getTimeInMillis() + oneDay - rawOffset);
}

最佳答案

您需要做的是在显示对话框之前使用应用程序良好日期初始化对话框。此代码来自 Android 应用程序。

DatePicker datePicker = (DatePicker) billDateDialog.getDatePicker();
TimePicker timePicker = (TimePicker) findViewById(R.id.timepicker);

DateTime apptime = DateTime.now() ; //From your app, db or other
int y = apptime.getYear() ;
int m = apptime.getMonthOfYear() - 1; // Need to subtract 1 here.
int d = apptime.getDayOfMonth();
int h = apptime.getHourOfDay();
int min = apptime.getMinuteOfHour();

//setters
datePicker.updateDate(y, m, d);
timePicker.setCurrentHour(h);
timePicker.setCurrentMinute(min);

关于java - 更改日期选择器对话框当前日期 - android java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44522903/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com