2016-10-28 3 views
1

Ich habe 2 androad datepickers und ich möchte die DayOfWeek in jedem date picker bekommen, aber ich bekomme nur den ersten Kalendertag, auch wenn ich es ändere. Wie setze ich den ClickListener? Ich möchte den Tag der Woche in dayOfWeek und dayOfWeek1 Variablen erhalten.Android DatePicker setOnClickListener

dpTake=(DatePicker) rootView.findViewById(R.id.dpTake); 
    dpDelivery=(DatePicker) rootView.findViewById(R.id.dpDelivery); 


    Date dt = new Date(); 
    Calendar c = Calendar.getInstance(); 
    int year = c.get(Calendar.YEAR); 
    int month = c.get(Calendar.MONTH); 
    int day = c.get(Calendar.DAY_OF_MONTH); 
    dayOfWeek = c.get(Calendar.DAY_OF_WEEK); 


    dpDelivery.updateDate(c.YEAR, c.MONTH, c.DAY_OF_MONTH); 

    c.add(Calendar.DATE, 1); 
    dt = c.getTime(); 
    dpTake.setMinDate(dt.getTime()); 

    CalendarView cv = dpTake.getCalendarView(); 
    long current = cv.getDate(); 
    cv.setDate(cv.getMaxDate(), false, true); 
    cv.setDate(current, false, true); 


    c.add(Calendar.DATE, 2); 
    dt = c.getTime(); 
    dpDelivery.setMinDate(dt.getTime()); 
    CalendarView cvDelivery = dpDelivery.getCalendarView(); 
    current = cvDelivery.getDate(); 
    cvDelivery.setDate(cv.getMaxDate(), false, true); 
    cvDelivery.setDate(current, false, true); 
    dayOfWeek1 = c.get(Calendar.DAY_OF_WEEK); 
+2

ich Ihre Frage nicht bekommen. Was genau ist das aktuelle Verhalten und welches Verhalten möchten Sie erreichen? Ich sehe keinen Spinner in Ihrem Code. – tritop

+1

Es tut mir leid. Ich habe 2 Datepicker Spinner. Wenn ich Datum wähle, möchte ich die dayOfWeek erhalten (zum Beispiel für Sonntag die dayOfWeek = 1). Aber in der dayOfWeek-Variable behalte ich nur den Anfangswert des datepicker und ich denke, ich sollte einen Listener haben, aber nicht wissen, wie man es implementiert –

Antwort

0

diesen Code Versuchen

DatePickerDialog dpd = DatePickerDialog.newInstance(
          new DatePickerDialog.OnDateSetListener() { 
           @Override 
           public void onDateSet(DatePickerDialog view, int year, int monthOfYear, int dayOfMonth) { 
            calendar.set(Calendar.YEAR, year); 
            calendar.set(Calendar.MONTH, monthOfYear); 
            calendar.set(Calendar.DAY_OF_MONTH, dayOfMonth); 

           } 
          }, 
          calendar.get(Calendar.YEAR), 
          calendar.get(Calendar.MONTH), 
          calendar.get(Calendar.DAY_OF_MONTH) 
        ); 
        dpd.setAccentColor(Color.parseColor("#029789")); 
        dpd.setMinDate(Calendar.getInstance()); 
        dpd.show(getActivity().getFragmentManager(), "Datepickerdialog"); 
+1

es funktioniert nicht –

+0

Gibt es einen Fehler beim Testen. Wenn überhaupt, bitte teilen. – EKN

+1

Ich hatte Probleme mit einigen Methoden. Android Studio erkannte sie nicht. Auch die dayOfWeek speichert das ausgewählte Datum nicht - ich kenne den Grund nicht. Schließlich gibt setMinDate funtion standardmäßig das maximale Jahr (2100) zurück. –

Verwandte Themen