尝试在 DatePicker 之后将所选日期显示为文本

Trying to show to chosen day as text after the DatePicker

  //When user clicks "other".
    public void setDate(View view) {
        DateTime dateTime=new DateTime();


        new DatePickerDialog(CreateEventActivity.this, listener, dateTime.getYear(), dateTime.getMonthOfYear(), dateTime.getDayOfWeek()).show();
    }

    DatePickerDialog.OnDateSetListener listener = new DatePickerDialog.OnDateSetListener() {
        @Override
        public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
            DateTime eventDate = new DateTime();
            eventDate.withYear(year);
            eventDate.withMonthOfYear(monthOfYear + 1);
            eventDate.withDayOfMonth(dayOfMonth);

            time = eventDate;

            Context appContext = getApplicationContext();
            Toast.makeText(appContext, dayOfMonth + "/" + (monthOfYear + 1) + "/" + year + "," +eventDate.dayOfWeek().getAsText(), Toast.LENGTH_LONG).show();
            dateTxt.setText(dayOfMonth + "/" + (monthOfYear + 1) + "/" + year);
            dayTxt.setText(eventDate.dayOfWeek().getAsText());

            otherButton.setBackgroundColor(Color.parseColor("#77B3FC"));
            todayButton.setBackgroundColor(Color.parseColor("#DBDBDB"));
            tomorrowButton.setBackgroundColor(Color.parseColor("#DBDBDB"));



        }
    };

我对这部分有疑问:eventDate.dayOfWeek().getAsText() 它显示错误的星期几,但数字日期没问题。

(刚开始使用 Joda-Time 所以我不太确定...)

编辑: 数字中的日期如:23.7.16 打印正确,但我希望它显示星期几,如 "Monday"...我注意到它总是写今天的名字。在 toast 和文本视图中...

例如, 对于几个不同的日期,它将显示: 23.6.16,星期五| 16 年 7 月 15 日,星期五| 2017 年 8 月 30 日,星期五

其他数据都是对的,因为你用的是DataPicker的数据,不是JodaTime的数据,可能是你的构造有问题试试:

DateTime eventDate = new DateTime(year,monthOfYear+1,dayOfMonth,0,0,0); 

0,0,0 是小时、分钟和秒,删除 3 行:

eventDate.withYear(year); 
eventDate.withMonthOfYear(monthOfYear + 1); 
eventDate.withDayOfMonth(dayOfMonth);