2017-09-07 1 views
-5

ich alt 1990 bin immer noch nach dem Schreiben dd.getDatePicker().setMaxDate(System.currentTimeMillis());Ich werde alt 1990 Daten, wenn ich für Daten klicken

kann mir jemand helfen mit diesem

public class ForCalendar { 

Calendar cal=Calendar.getInstance(); 

public ForCalendar(Context ct, final View v) 
{ 

    SimpleDateFormat dateFormat= new SimpleDateFormat("dd-MM-yyyy"); 
    String strDate=dateFormat.format(cal.getTime()); 
    try { 
     cal.setTime(dateFormat.parse((String)v.getTag())); 
    } catch (ParseException e) { 
     e.printStackTrace(); 
    } 
    DatePickerDialog dd=new DatePickerDialog(ct, new DatePickerDialog.OnDateSetListener() 
    { 
     @Override 
     public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) 
     { 
      EditText ed=(EditText)v; 
      ed.setText(dayOfMonth+"-"+(month+1)+"-"+year); 
      ed.setTag(dayOfMonth+"-"+(month+1)+"-"+year); 

     } 
    },cal.get(Calendar.YEAR),cal.get(Calendar.MONTH),cal.get(Calendar.DATE)); 
    dd.getDatePicker().setMaxDate(System.currentTimeMillis()); 
    dd.show(); 
} 

}

+1

_old 1990_? Gibt es auch ein neues 1990? –

+0

Was willst du? Was erwarten Sie von setMaxDate? –

+0

Ich möchte das aktuelle Datum erhalten –

Antwort

0
 v.setOnClickListener(new View.OnClickListener() { 
        @Override 
        public void onClick(View view) { 
         DatePickerFragment mDatePicker = new DatePickerFragment(); 
         mDatePicker.show(getActivity().getFragmentManager(),"Select Date"); 
        } 
       }); 

    public static class DatePickerFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener { 
     @Override 
     public Dialog onCreateDialog(Bundle savedInstanceState) 
     { 
      final Calendar c = Calendar.getInstance(); 
      int year = c.get(Calendar.YEAR); 
      int month = c.get(Calendar.MONTH); 
      int day = c.get(Calendar.DAY_OF_MONTH); 
      return new DatePickerDialog(getActivity(), this, year, month, day); 
     } 
     public void onDateSet(DatePicker view, int year, int month, int day) 
     { 
      if(month==monthh && day<dayy &&year<=yearr) 
      { 
       // your message. dont use dialogmessage. its my custom dialog. use in your away 
       com.Toast_Short("Please Set Comming Date"); 
       end_date.performClick(); 
      } 
      else if(month<=monthh && day==dayy && year<=yearr) 
      { 
       com.Toast_Short("Please Set Comming Date"); 
       end_date.performClick(); 
      } 
      else if(month<=monthh && day<=dayy && year<yearr) 
      { 
       com.Toast_Short("Please Set Comming Date"); 
       end_date.performClick(); 
      } 
      else 
      { 
       view.setMinDate(System.currentTimeMillis() - 1000); 
       TimePicker mTimePicker = new TimePicker(); 
       mTimePicker.show(getFragmentManager(), "Select time"); 
       String mont , dy; 
       if(month<10) 
        mont="0"+month; 
       else mont=month+""; 

       if(day<10) 
        dy="0"+day; 
       else dy=day+""; 

       v.setText(String.valueOf(dy) + "-" + String.valueOf(mont) + "-" + String.valueOf(year)); 
      } 
     } 
    } 
0

Tatsächlich ist die Problem liegt bei diesen folgenden Codezeilen

try { 
    cal.setTime(dateFormat.parse((String)v.getTag())); 
} catch (ParseException e) { 
    e.printStackTrace(); 
} 

was genau versuchen Sie damit zu tun.

+0

Was ich versuche zu tun ist, habe ich EditText mit 'Startdatum' und' erstellt endDatum mit diesen Daten muss ich es im gesamten Projekt verwenden. Also, ich habe ForCalender-Klasse erstellt, die Sie oben Code gesehen haben. Es ist eine andere Situation, in die ich ging, um 'setText' zu setzen, wie es Fehler gezeigt hat, also habe ich diesen Code benutzt –

Verwandte Themen