java - Android 使用日期选择器之外的数据

标签 java android

我试图从我的日期选择器中获取日/月/年。我的问题是 Month en the day 从来都不正确。我给你下面的代码。月份是正确的,但当月份是 12 月时它会失败。这一天永远不会正确。

    public class myOnDateChangedListener implements OnDateChangedListener {

    public void onDateChanged(DatePicker view, int year, int monthOfYear,
            int dayOfMonth) {
        if (view.getId() == R.id.datePicker1) {
            startDay = view.getDayOfMonth();
            if(view.getMonth() == 11){
                startMonth = 12;
            }else{
            startMonth = (view.getMonth() + 1);
            }
            startYear = view.getYear();

        }
        if (view.getId() == R.id.datePicker2) {
            endDay = view.getDayOfMonth();
            if(view.getMonth() == 11){
                endMonth = 12;
            }else{
            endMonth = (view.getMonth() + 1);
            }

            endYear = view.getYear();

        }

    }

}

最佳答案

为什么使用 View 值,而不是方法中传递的值?也不需要 month == 11 的特殊情况。试试这个代码(修改你自己的):

public void onDateChanged(DatePicker view, int year, int monthOfYear,
            int dayOfMonth) {
        if (view.getId() == R.id.datePicker1) {
            startDay = dayOfMonth;
            startMonth = monthOfYear + 1;
            startYear = year;
        }
        if (view.getId() == R.id.datePicker2) {
            endDay = dayOfMonth;
            endMonth = monthOfYear + 1;
            endYear = year;
        }

    }

编辑:阅读您的评论后,我觉得您遇到的问题可能是因为您方面的一些其他困惑:我的意思是 Java Date 类构造函数像 this 这样的事实。 :

public Date(int year, int month, int date)

初始化从 1900 年 1 月 1 日开始的日期。警告:月份在 0 到 11 之间,日期在 1 到 31 之间。看一下构造函数。如果您想检测问题是出在 DatePicker 本身还是之后出在 Java 代码中,请尝试记录以缩小原因范围。

关于java - Android 使用日期选择器之外的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8825189/

相关文章:

android - Google Play Protect 突然不允许安装 apk

android - 更新 Android Studio 代码模板

android - 打开应用程序时是否可以删除白屏?

android - 在android中重用循环媒体播放器

java - 如何用java在cucumber中传递 boolean 参数?

java - 在 Java 中更新 LuceneIndex 条目

android:用于机器人应用程序的外部 usb 设备的 api

java - 在Ubuntu 16.04中使用JAVA中的MapReduce在文本文件中搜索给定单词

java - GlassFish JSF : IndexOutOfBoundsException no personalized classes in trace

java - 创建一个应用程序来显示您当前安装的应用程序