2014-02-28 2 views
0

왜 그런지는 모르겠지만 유효한 설정 (과거에는없는 설정)입니다. 일부 경우, 예 : 2014 년 4 월 4 일로 설정되었지만 2014 년 2 월 28 일부터 2014 년 3 월 2 일까지 설정하는 경우 과거 날짜를 말하고 있습니다. 누군가 이것이 왜 그런지 알 수 있습니까?Android 스토어 유효 기간 (과거 날짜가 아님)

public class StartDatePicker extends DialogFragment implements 
      DatePickerDialog.OnDateSetListener { 

    Calendar c = Calendar.getInstance(); 
    int startYear = c.get(Calendar.YEAR); 
    int startMonth = c.get(Calendar.MONTH); 
    int startDay = c.get(Calendar.DAY_OF_MONTH); 

    @Override 
    public Dialog onCreateDialog(Bundle savedInstanceState) { 
     // Use the current date as the default date in the date picker 
     DatePickerDialog dialog = new DatePickerDialog(getActivity(), this, 
       startYear, startMonth, startDay); 
     return dialog; 
    } 

    @Override 
    public void onDateSet(DatePicker view, int year, int monthOfYear, 
      int dayOfMonth) { 




     // disable past dates 

     if (year < startYear || monthOfYear < startMonth 
       || dayOfMonth < startDay) { 
      DialogFragment dialogFragment = new StartDatePicker(); 
      dialogFragment.show(getSupportFragmentManager(), 
        "start_date_picker"); 
      Toast.makeText(getApplicationContext(), "Select Valid Date", 
        Toast.LENGTH_LONG).show(); 
     } else { 

//store date 

}} 
+0

나는 datepicker를 사용하고 있습니다. – user2219097

답변

0

선택한 날짜는 다음과 같은 과거 사용중인 경우 당신이 확인하고 싶은 경우 : onDateSet 기능에

- 달력 인스턴스를 만들고 :

calendar.set(Calendar.YEAR,year); 
calendar.set(Calendar.MONTH,monthOfYear); 
calendar.set(Calendar.DAY_OF_MONTH,dayOfMonth); 

을 함께 달력을 설정 한 후 선택한 날짜가 System.timeInMilliseconds()를 사용하여 현재 시간 이후인지 확인하십시오.

if (calendar.getTimeInMilliseconds() < System.timeInMilliseconds()) { 
    // Your implementation ... 
} 

희망은 도움이된다. 행운을 빌어 요.