【问题标题】:How to get the values from datepicker?如何从日期选择器中获取值?
【发布时间】:2013-02-18 12:17:08
【问题描述】:

我的应用中有一个 DatePicker。我需要获取所选日期的值???

例如:

 dateDisplay=(EditText)findViewById(R.id.date);

就像我们在普通的编辑文本中所做的那样:

final EditText Name = (EditText) this.findViewById(R.id.nametext); 
and we can cast the data of it by using `Name.getText().toString()`

同样地,我们如何将日期选择器的值获取到字符串?

【问题讨论】:

标签: android datepicker


【解决方案1】:

检查一下:

Android: get DatePickerDialog in a fragment


很简单:

DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() {

    public void onDateSet(DatePicker view, int year,
            int monthOfYear, int dayOfMonth) {
        mYear = year;
        mMonth = monthOfYear;
        mDay = dayOfMonth;
        updateDisplay();
    }
};

DatePickerDialog d = new DatePickerDialog(getActivity(),
        R.style.MyThemee, mDateSetListener, mYear, mMonth, mDay);
d.show();

UpdateDisplay 方法:

private void updateDisplay() {

    GregorianCalendar c = new GregorianCalendar(mYear, mMonth, mDay);
    SimpleDateFormat sdf = new SimpleDateFormat("dd MMMM yyyy");

    editDate.setText(sdf.format(c.getTime()));

    sdf = new SimpleDateFormat("yyyy-MM-dd");

    transDateString=sdf.format(c.getTime());
}// updateDisplay

【讨论】:

    【解决方案2】:

    这就像魅力一样。

     final Calendar cal = Calendar.getInstance();
           pYear = cal.get(Calendar.YEAR);
           pMonth = cal.get(Calendar.MONTH);
           pDay = cal.get(Calendar.DAY_OF_MONTH);
    //----------To Open datePicker----------------
    private DatePickerDialog.OnDateSetListener pDateSetListener = new DatePickerDialog.OnDateSetListener()
         {
                public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth)
                {
                    pYear = year;
                    pMonth = monthOfYear;
                    pDay = dayOfMonth;
                    updateDisplay();
                }
         };
    
    //----------To display date in EditText----------------
    private void updateDisplay()
         {
               final Calendar cal = Calendar.getInstance();
               currentYear = cal.get(Calendar.YEAR);
    
               displayBirthdayDate.setText(
                    new StringBuilder()
                            // Month is 0 based so add 1
                            .append(pMonth + 1).append("/")
                            .append(pDay).append("/")
                            .append(pYear));
         }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-14
      • 1970-01-01
      • 2011-12-30
      • 1970-01-01
      • 1970-01-01
      • 2013-01-28
      相关资源
      最近更新 更多