Android DatePicker Monat als Ganzzahl

Ich habe eine einfache Frage, aber nach einiger Zeit konnte ich die Antwort noch nicht finden. Ist es in einem DatePicker möglich, den Monat so zu ändern, dass er als Ganzzahl und nicht als Zeichenfolge angezeigt wird? Beispiel: {1,2,3 ..} nicht {jan, feb, mar ...}

BEARBEITEN:

Obwohl @ kanedas Lösung zu funktionieren scheint, stimmen in Android 3.0 zumindest die Methoden und Attribute nicht überein. Der Code, den ich benutze, ist folgender:

<code>public DatePickerCustom(Context context, AttributeSet attrs) {
       super(context, attrs);
       Field[] fields = DatePicker.class.getDeclaredFields();
       try {
           for (Field field : fields) {
               field.setAccessible(true);
               if (TextUtils.equals(field.getName(), "mMonthSpinner")) {
                   Method m =     field.getType().getDeclaredMethod("setDisplayedValues", String[].class);
                   m.setAccessible(true);
                   String[] s = new String[]     {"01","02","03","04","05","06","07","08","09","10","11","12"};
                   Object[] params = new Object[1];
                   params[0] = s;
                   m.invoke(field.get(this), params);
                   break;
               }
           }
       }
       catch (Exception e) {
           System.out.println(e.getMessage());
           e.printStackTrace();
       }
    }
</code>

EDIT 2:

Die beste Lösung besteht darin, einen benutzerdefinierten DatePicker zu erstellen (nach dem ersten Ratschlag von @kaneda), der immer ohne Kompatibilitätsprobleme funktioniert und sich nicht auf Reflexion stützt.

Gebraucht diedate_picker.xml von android und DatePicker.java gepostet von @kaneda. Außerdem habe ich einen benutzerdefinierten NumberPicker verwendet (da der, den das DatePicker-Widget verwendet, für Android intern ist). Für das NumberPicker-Widget habe ich dies befolgtVerknüpfung.

Im CustomDatePicker habe ich die Funktion kommentiertgetShortMonths() und stellen Sie den Monatsbereich aufmMonthPicker.setRange(1, NUMBER_OF_MONTHS);.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage