如何在Android的日期选择器对话框中显示所选日期的第二天日期?

骑乘者

我目前正在页面加载时在各个布局中显示今天的日期和日期以及明天的日期和日期。但我的要求是

1) 无论我选择的日期是什么,Datepicker,它都应该显示在第一个布局上

2) 第二天的日期应显示在第二个布局上。

我的第一个要求工作正常,没有任何问题。,(即),无论我选择哪一天,它都显示在第一个布局上。没问题,但我的第二个要求有问题。

考虑一下我是否选择 25-May-2018 在DatePicker,它按预期显示在第一个布局上,但不是将第二天的日期显示为 26-May-2018,而是显示为 26-Jun-2018。但我需要它以这样一种方式工作,如果我在Datepicker,所选日期中选择 25-May-2018应该显示在第一个布局上,而第二天的日期(2018 年 5 月 26 日)应该显示在下一个布局上。这应该适用于我在Datepicker.

我哪里错了?

这是我的 Activity.Java:

public class PrivacyPolicyActivity extends AppCompatActivity {

    LinearLayout layout1, layout2, layout3, todayLayout, tomorrowLayout;
    ImageView calendarImgView;
    TextView todayDate;
    TextView todayDay;
    TextView tommmorrowDate;
    TextView tommorrowDay;
    TextView todayLabel;
    TextView tommorrowlabel;
    DatePickerDialog datePickerDialog;
    Calendar calendar;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_privacy_policy);

        calendar = Calendar.getInstance();
        Date today = calendar.getTime();
        calendar.add(Calendar.DAY_OF_YEAR, 1);
        Date tomorrow = calendar.getTime();

        final DateFormat dateFormat = new SimpleDateFormat("dd-MMM");

        DateFormat day = new SimpleDateFormat("EEEE");

        layout1 = (LinearLayout) findViewById(R.id.layout1);
        layout2 = (LinearLayout) findViewById(R.id.layout2);
        layout3 = (LinearLayout) findViewById(R.id.layout3);
        todayDate = (TextView) findViewById(R.id.todayDate);

        todayDate.setText(dateFormat.format(today));
        todayDay = (TextView) findViewById(R.id.todayDay);
        todayDay.setText(day.format(today));

        tommmorrowDate = (TextView) findViewById(R.id.tommmorrowDate);
        tommmorrowDate.setText(dateFormat.format(tomorrow));
        tommorrowDay = (TextView) findViewById(R.id.tommorrowDay);
        tommorrowDay.setText(day.format(tomorrow));

        todayLayout = (LinearLayout) findViewById(R.id.todayLayout);
        tomorrowLayout = (LinearLayout) findViewById(R.id.tomorrowLayout);

        todayLabel = (TextView) findViewById(R.id.todayLabel);
        tommorrowlabel = (TextView) findViewById(R.id.tommorrowlabel);
        calendarImgView = (ImageView) findViewById(R.id.calendarImgView);

        calendarImgView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Calendar calendar = Calendar.getInstance();
                int year = calendar.get(Calendar.YEAR);
                int month = calendar.get(Calendar.MONTH);
                int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);

                datePickerDialog = new DatePickerDialog(PrivacyPolicyActivity.this,
                        new DatePickerDialog.OnDateSetListener() {
                            @Override
                            public void onDateSet(DatePicker datePicker, int year, int month, int day) {

//                                SimpleDateFormat dateandmonth = new SimpleDateFormat("dd-MMM");
//                                Date date = new Date();
//                                String reqddate = dateandmonth.format(date);
                                //todayDate.setText(day + "/" + (month + 1) + "/" + year);

                                int cyear = datePicker.getYear();
                                int cmonth = datePicker.getMonth();
                                int cday = datePicker.getDayOfMonth();

                                Calendar cld = Calendar.getInstance();
                                cld.set(cyear, cmonth, cday);
                                SimpleDateFormat format = new SimpleDateFormat("dd-MMM");
                                String strDate = format.format(cld.getTime());
                                todayDate.setText(strDate);

                                SimpleDateFormat dayfmt = new SimpleDateFormat("EEEE");
                                String dayselected = dayfmt.format(cld.getTime());
                                todayDay.setText(dayselected);

                                int nextYear = datePicker.getYear() + 1;
                                int nextMonth = datePicker.getMonth() + 1;
                                int nextDay = datePicker.getDayOfMonth() + 1;

                                Calendar nextcld = Calendar.getInstance();
                                nextcld.set(nextYear, nextMonth, nextDay);

                                SimpleDateFormat tom_format = new SimpleDateFormat("dd-MMM");
                                String tom_date = tom_format.format(nextcld.getTime());
                                tommmorrowDate.setText(tom_date);

                                SimpleDateFormat day_fmt = new SimpleDateFormat("EEEE");
                                String tom_day = day_fmt.format(cld.getTime());
                                tommorrowDay.setText(tom_day);
                            }
                        }, year, month, dayOfMonth);

                datePickerDialog.show();
            }

        });
    }
}
寿司

为什么你用 1 增加 Month 和 year ?

int nextYear = datePicker.getYear() + 1;
int nextMonth = datePicker.getMonth() + 1;
int nextDay = datePicker.getDayOfMonth() + 1;

只是增加nextDay。

cld.add(Calendar.DATE, 1);

解决方案

 calendarImgView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Calendar calendar = Calendar.getInstance();
                int year = calendar.get(Calendar.YEAR);
                int month = calendar.get(Calendar.MONTH);
                int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);

                datePickerDialog = new DatePickerDialog(PrivacyPolicyActivity.this,
                        new DatePickerDialog.OnDateSetListener() {
                            @Override
                            public void onDateSet(DatePicker datePicker, int year, int month, int day) {


//                                SimpleDateFormat dateandmonth = new SimpleDateFormat("dd-MMM");


                                int cyear = datePicker.getYear();
                                int cmonth =datePicker .getMonth();
                                int cday = datePicker.getDayOfMonth();

                                Calendar cld  = Calendar.getInstance();
                                cld.set(cyear, cmonth, cday);
                                SimpleDateFormat format = new SimpleDateFormat("dd-MMM");
                                String strDate = format.format(cld.getTime());
                                todayDate.setText(strDate);

                                SimpleDateFormat dayfmt = new SimpleDateFormat("EEEE");
                                String dayselected = dayfmt.format(cld.getTime());
                                todayDay.setText(dayselected);


                                cld.add(Calendar.DATE, 1);

                                SimpleDateFormat day_fmt = new SimpleDateFormat("EEEE");
                                String tom_day = day_fmt.format(cld.getTime());
                                tommorrowDay.setText(tom_day);


                            }
                        },year,month,dayOfMonth);

                datePickerDialog.show();
            }





        });

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

jQueryUI 日期选择器突出显示第二天

来自分类Dev

如何在日期选择器对话框中设置最大日期和最小日期

来自分类Dev

Django TodayArchiveView显示第二天的日期

来自分类Dev

如何输出第二天的日期时间

来自分类Dev

在Android的日期选择器对话框中显示当前日期

来自分类Dev

如何从日期/时间选择器对话框中获取日期和时间并显示它?

来自分类Dev

如何在日期选择器中显示所选日期?

来自分类Dev

重新打开对话框时,日期选择器对话框未显示所选日期

来自分类Dev

如何将Android中的日期选择器对话框设置为昨天的日期

来自分类Dev

如何将Android中的日期选择器对话框设置为昨天的日期

来自分类Dev

如何在添加timedelta时不以日期时间开始第二天?

来自分类Dev

如何在 R 中将日期时间更改为第二天的特定时间?

来自分类Dev

在其他日期选择器对话框中基于所选日期禁用以前的日期

来自分类Dev

如何使用jQuery获取第二天的日期和下个月的日期

来自分类Dev

如何根据用户输入的日期获取第二天的日期?

来自分类Dev

如何将日期和时间选择器放在android的对话框中

来自分类Dev

数据中最大日期后的第二天

来自分类Dev

如何在Phpmyadmin中生成带有日期的自动增量ID号并重置第二天

来自分类Dev

Android 日期选择器对话框标题用邮筒显示

来自分类Dev

线性布局扩展中的“显示日期选择器”对话框不活动

来自分类Dev

车轮日期选择器对话框始终显示当前日期

来自分类Dev

如何限制用户在日期选择器对话框中选择过去的日期

来自分类Dev

Android日期选择器对话框-日期格式为dd / MMM / yyyy

来自分类Dev

无法创建日期选择器对话框

来自分类Dev

日期选择器对话框阴影的白色背景

来自分类Dev

更改日期选择器对话框主题

来自分类Dev

日期选择器对话框显示在编辑文本上双击

来自分类Dev

将timedelta添加到日期时间不会移动到第二天

来自分类Dev

计算从第二天开始的日期之间的工作日

Related 相关文章

  1. 1

    jQueryUI 日期选择器突出显示第二天

  2. 2

    如何在日期选择器对话框中设置最大日期和最小日期

  3. 3

    Django TodayArchiveView显示第二天的日期

  4. 4

    如何输出第二天的日期时间

  5. 5

    在Android的日期选择器对话框中显示当前日期

  6. 6

    如何从日期/时间选择器对话框中获取日期和时间并显示它?

  7. 7

    如何在日期选择器中显示所选日期?

  8. 8

    重新打开对话框时,日期选择器对话框未显示所选日期

  9. 9

    如何将Android中的日期选择器对话框设置为昨天的日期

  10. 10

    如何将Android中的日期选择器对话框设置为昨天的日期

  11. 11

    如何在添加timedelta时不以日期时间开始第二天?

  12. 12

    如何在 R 中将日期时间更改为第二天的特定时间?

  13. 13

    在其他日期选择器对话框中基于所选日期禁用以前的日期

  14. 14

    如何使用jQuery获取第二天的日期和下个月的日期

  15. 15

    如何根据用户输入的日期获取第二天的日期?

  16. 16

    如何将日期和时间选择器放在android的对话框中

  17. 17

    数据中最大日期后的第二天

  18. 18

    如何在Phpmyadmin中生成带有日期的自动增量ID号并重置第二天

  19. 19

    Android 日期选择器对话框标题用邮筒显示

  20. 20

    线性布局扩展中的“显示日期选择器”对话框不活动

  21. 21

    车轮日期选择器对话框始终显示当前日期

  22. 22

    如何限制用户在日期选择器对话框中选择过去的日期

  23. 23

    Android日期选择器对话框-日期格式为dd / MMM / yyyy

  24. 24

    无法创建日期选择器对话框

  25. 25

    日期选择器对话框阴影的白色背景

  26. 26

    更改日期选择器对话框主题

  27. 27

    日期选择器对话框显示在编辑文本上双击

  28. 28

    将timedelta添加到日期时间不会移动到第二天

  29. 29

    计算从第二天开始的日期之间的工作日

热门标签

归档