当模拟器运行时,会出现DatetimePicker,但在选择项目时,它会跳过几个项目并提供一个我无法选择的值。
例如:当它出现时,它显示" 1990年8月13日"并且在" aug"之上它的" 7月"。但是当我选择" 7月"它旋转并让我" 1月"
我的模拟器规格有问题吗?还是代码? 或者还有另一种方法来进行日期选择吗?
非常感谢您的帮助。提前谢谢。
DatePickerDialog mDatePicker=new DatePickerDialog(this, new OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
EditText editText = (EditText)findViewById(R.id.ET_birthday);
editText.setText(year + "/" + monthOfYear + "/" + dayOfMonth, TextView.BufferType.EDITABLE);
}
},1990, 9, 13);
mDatePicker.setTitle("Select date");
mDatePicker.show();
答案 0 :(得分:0)
试试这个。
// initialise your datePicker
Dialog datePicker = new DatePickerDialog(this, datePickerListener, year,
month, day);
datedial.show();
//这是你的datePickerListener
@SuppressLint("SimpleDateFormat")
private DatePickerDialog.OnDateSetListener datePickerListener = new DatePickerDialog.OnDateSetListener() {
@SuppressLint("SimpleDateFormat")
public void onDateSet(DatePicker view, int selectedYear,
int selectedMonth, int selectedDay) {
date = selectedYear + "-" + (selectedMonth + 1) + "-" + selectedDay;
// format your date in desired format
SimpleDateFormat curFormater = new SimpleDateFormat("yyyy-M-d");
try {
Date dateObj = curFormater.parse(date);
SimpleDateFormat postFormater = new SimpleDateFormat(
"dd MMMM yyyy");
String newDateStr = postFormater.format(dateObj);
yourEditText.setText(newDateStr);
} catch (Exception e) {
e.printStackTrace();
}
}
};