2016-11-25 3 views
0

Erstellen von App, in der ich nur Jahr in Spinner anzeigen möchte. Ich verwende DatepickerDialog, die Datum, Monat und Jahr zeigt, aber ich möchte nur Jahr anzeigen.So zeigen Sie nur Jahr in Spinner

datePickerDialog = new DatePickerDialog(mContext, new DatePickerDialog.OnDateSetListener() { 

      @Override 
      public void onDateSet(DatePicker datePicker, int selectedYear, int selectedMonth, int selectedDate) { 

       datePicker = (DatePicker) findViewById(R.id.datePicker); 
       // datePicker.getYear(); 
       // year = selectedYear; 
       tvYearSelection.setText(new StringBuilder().append(datePicker.getYear())); 
      } 
     }, year, 0, 0); 

     datePickerDialog.getDatePicker().setMinDate(System.currentTimeMillis()); 
     datePickerDialog.show(); 
+0

try Number mit benutzerdefinierten Adapter –

+1

Mögliches Duplikat verwenden [Wie Jahr in Datumsauswahl in Android nur zum Anzeigen] (http://stackoverflow.com/questions/10793811/how-to-display-year- nur-in-date-picker-in-android) –

+0

Das funktioniert nicht .. – user7108398

Antwort

0

Wie wäre es damit?

private void createDialogWithoutDateField() { 
    DatePickerDialog dpd = new DatePickerDialog(this, null, 2014, 1, 24); 
    try { 
     java.lang.reflect.Field[] datePickerDialogFields = dpd.getClass().getDeclaredFields(); 
     for (java.lang.reflect.Field datePickerDialogField : datePickerDialogFields) { 
      if (datePickerDialogField.getName().equals("mDatePicker")) { 
       datePickerDialogField.setAccessible(true); 
       DatePicker datePicker = (DatePicker) datePickerDialogField.get(dpd); 
       java.lang.reflect.Field[] datePickerFields = datePickerDialogField.getType().getDeclaredFields(); 
       for (java.lang.reflect.Field datePickerField : datePickerFields) { 
        Log.i("test", datePickerField.getName()); 
        if ("mDaySpinner".equals(datePickerField.getName())) { 
         datePickerField.setAccessible(true); 
         Object dayPicker = datePickerField.get(datePicker); 
         ((View) dayPicker).setVisibility(View.GONE); 
        } 

        if ("mMonthSpinner".equals(datePickerField.getName())) { 
         datePickerField.setAccessible(true); 
         Object dayPicker = datePickerField.get(datePicker); 
         ((View) dayPicker).setVisibility(View.GONE); 
        } 
       } 
      } 
     } 
    } 
    catch (Exception ex) { 
    } 
    dpd.show(); 
} 
Verwandte Themen