好,这很奇怪.我有一个非常简单的DatePicker对话框.问题是,无论我选择什么日期,返回的值都恰好是所选日期的一个月.这是我的代码:
活动
btnEventDate.setonClickListener(new VIEw.OnClickListener() { @OverrIDe public voID onClick(VIEw v) { DialogFragment newFragment = new DatePickerFragment(); newFragment.show(getSupportFragmentManager(), "datePicker"); }});@OverrIDepublic voID onDateSet(DatePicker vIEw, int year, int monthOfYear, int dayOfMonth) { DateTime dt = new DateTime(year, monthOfYear, dayOfMonth, 0, 0, 0, 0); Log.d(Constants.TAG, "dt: " + dt.toString()); Log.d(Constants.TAG, "str: " + dateHandler.convertDatetoYYYY_MM_DDString(dt));}
DatePickerFragment
public class DatePickerFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener { @OverrIDe public Dialog onCreateDialog(Bundle savedInstanceState) { // Use the current date as the default date in the picker final Calendar c = Calendar.getInstance(); int year = c.get(Calendar.YEAR); int month = c.get(Calendar.MONTH); int day = c.get(Calendar.DAY_OF_MONTH); return new DatePickerDialog(getActivity(), (OnDateSetListener)getActivity(), year, month, day); } public voID onDateSet(DatePicker vIEw, int year, int month, int day) {}}
当对话框出现时,它显然设置为今天的日期.假设我选择2015年10月12日,日志输出将显示以下内容:
dt: 2015-09-12T00:00:00.000-06:00
str: 2015-09-12
我肯定错过了什么.有人知道我在做什么错吗?
@R_403_6120@:
月份从0到12.从一月到十一月.
尝试将它们与Calendar.“ MONTH”进行比较.
示例:Calendar.OCTOBER == 9
链接:http://developer.android.com/reference/java/util/Calendar.html#MONTH.
注意:如果您使用GregorianCalendar,则可以忽略第13个月.
总结以上是内存溢出为你收集整理的Android DatePicker Fragment返回一个月前的日期全部内容,希望文章能够帮你解决Android DatePicker Fragment返回一个月前的日期所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)