我应该在Android应用程序上使用什么来查看日历?

时间:2016-09-20 07:12:05

标签: android android-studio datepicker simpledateformat

我创建了一个Android应用程序,我想在应用程序上显示日历,以便用户可以选择一些日期。我尝试使用CalendarView完成它,但最终没有任何结果。在calendarView中,setMinDate将默认日历视图设置为2100,并且在2038之后的日期也存在一些问题,我猜。

为了在我的Android应用程序中查看过去几天禁用的日历,我需要做些什么。(但不是日历视图,厌倦了并尝试了所有内容!)

2 个答案:

答案 0 :(得分:1)

嘿,请检查此代码。

 long date = selected.getTimeInMillis();
 long date1 = System.currentTimeMillis() - 24 * 60 * 60 * 1000;

 if (date1 < date) 
 {
   closePopup();
 } 
 else
   Toast.makeText(mContext, "Past date reminder can not be set", Toast.LENGTH_SHORT).show();

很乐意提供帮助。

答案 1 :(得分:1)

     @SuppressLint({"NewApi"})
        public void showDatePicker() {
           DatePickerDialog datePickerDialog=new DatePickerDialog(this,new DatePickerDialog.OnDateSetListener() {
               @Override
               public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
    //               Log.e("cal", "year= "+ year + " month= "+ dayOfMonth+ " day= "+ dayOfMonth);
                   String monthh = (1 + monthOfYear) + "";
                   if (monthh.length() != 2) {
                       monthh = "0" + monthh;
                   }
                   String dayy = (dayOfMonth) + "";
                   if (dayy.length() != 2) {
                       dayy = "0" + dayy;
                   }

                   String str = year
                           + "-" + monthh
                           + "-" + dayy;                  
    //                Log.e("Date dialog", str);
                   selected_date=str;   

               }
           },
 Calendar.getInstance().get(Calendar.YEAR),       Calendar.getInstance().get(Calendar.MONTH), Calendar.getInstance().get(Calendar.DAY_OF_MONTH));
          //  datePickerDialog.setTitle("Select Date");
            datePickerDialog.getDatePicker().setMinDate();// here you can set your min date below which the user cannot select any date.
            datePickerDialog.getDatePicker().setMaxDate(new Date().getTime());
            datePickerDialog.show();

        }

让我知道如果它解决了你的问题,我们会采取其他方法。