我有一个MM-DD-YYYY格式的自定义日期选择器。我把它定制为因为我需要月份字段作为数字。现在,我希望它将字段排列成YYYY-MM-DD格式,但我不知道如何。这是我的custom datepicker的构造函数:
import android.annotation.TargetApi;
import android.content.Context;
import android.os.Build;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.widget.DatePicker;
import android.widget.NumberPicker;
import java.lang.reflect.Field;
public class MyDatePicker extends DatePicker {
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
public MyDatePicker(Context context, AttributeSet attrs) {
super(context, attrs);
Field[] fields = DatePicker.class.getDeclaredFields();
try {
String[] s = new String[] {"01","02","03","04","05","06","07","08","09","10","11","12"};
for (Field field : fields) {
field.setAccessible(true);
if (TextUtils.equals(field.getName(), "mMonthSpinner")) {
NumberPicker monthPicker = (NumberPicker) field.get(this);
monthPicker.setDisplayedValues(s);
}
if (TextUtils.equals(field.getName(), "mShortMonths")) {
field.set(this, s);
}
}
}
catch (Exception e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
}
}
答案 0 :(得分:0)
我有完全相同的问题(几个月的数字,“字段”的顺序以及在某些情况下隐藏日期选择器)。最后写了我自己的日期选择器。 问题是标准的android datepicker根据设备中设置的语言环境排列NumberSpinners。有一种称为reorderPickers的方法。看看那里。