选择年月或日Android时,日期时间选择器会跳过项目

时间:2014-11-01 13:38:19

标签: android datetimepicker

当模拟器运行时,会出现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(); 

1 个答案:

答案 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();
        }
    }
};