2014-02-18 19 views
0

我需要限制用戶從日曆視圖中選擇未來的日期。它可以是錯誤消息或任何其他方法,可以幫助選擇未來的日期。 請隨時教我。如何限制用戶不要在日曆中從日曆中選擇未來日期android

CV = (CalendarView) findViewById(R.id.calendarView1); 
CV.setOnDateChangeListener(new OnDateChangeListener() { 

     @Override 
     public void onSelectedDayChange(CalendarView view, int year, int month, 
       int dayOfMonth) { 
      // TODO Auto-generated method stub 
      cvSTR = dayOfMonth+" : "+(month+1)+" : "+year; 
      Toast.makeText(getBaseContext(),"Selected Date is\n\n"+cvSTR, 
      Toast.LENGTH_SHORT).show(); 
      MyDay = String.valueOf(dayOfMonth); 
      MyMonth = String.valueOf(month+1); 
      MyYear = String.valueOf(year); 
     } 
     }); 
+0

請問你的日曆視圖樣子呢? – donfuxx

+0

我更新了我的帖子,看看 – Jack

回答

0

補充一點:

Date maxDate = new Date(); //set your max date here 
CV.setMaxDate(maxDate.getTime()); 
+0

感謝您的回覆,但我沒有使用datepicker – Jack

+0

您的意思是這個視圖? http://developer.android.com/reference/android/widget/CalendarView.html 你嘗試過使用setMaxDate(long)嗎?說明書上說,它也可用 – stamanuel

+0

這正是我需要的!非常感謝! – Jack

0

獲取您DatePickerDialog用於與getDatePicker()方法DatePicker並使用setDate(Long millis)方法。

傳遞給它你必須設置的最大日期(從Epoch以毫秒爲單位)。

所以,你可以這樣做

Calendar c = Calendar.getInstance(); 
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); 
String formattedDate = df.format(c.getTime()); 

CV = (CalendarView) findViewById(R.id.calendarView1); 
CV.setMaxDate(d.getTime()); 
+0

感謝您的回覆, 但我在日曆視圖上尋找解決方案而不是日期選擇器 – Jack

+0

同樣的方法也適用於CalendarView – Cris

+0

p.getCalenderView(); ?? 那是什麼? 你可以參考我發佈的代碼併發布完全正確的方法嗎? 請... – Jack

相關問題