如何在android中从日历中获取出生日期?

时间:2012-11-23 10:18:21

标签: android android-layout calendar android-calendar

我是android新手。 我的布局是:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="26-01-2010" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Calender" />

</LinearLayout>

我有一个编辑框和按钮。当我点击按钮时,我想打开一个日历并能够从日历中选择一个日期,并且所选日期必须设置为编辑框。 请帮助任何好友。 在此先感谢。!!

4 个答案:

答案 0 :(得分:3)

调用方法在文本视图上选择日期或按钮或文字点击

 private void SelectDate() {

    final Calendar c = Calendar.getInstance();
    year = c.get(Calendar.YEAR);
    month = c.get(Calendar.MONTH);
    day = c.get(Calendar.DAY_OF_MONTH);


    showDialog(DATE_PICKER_ID);

}

@Override
protected Dialog onCreateDialog(int id) {
    switch (id) {
        case DATE_PICKER_ID:

            // open datepicker dialog.
            // set date picker for current date
            // add pickerListener listner to date picker
            return new DatePickerDialog(this, pickerListener, year, month,day);
    }
    return null;
}

private DatePickerDialog.OnDateSetListener pickerListener = new DatePickerDialog.OnDateSetListener() {

    // when dialog box is closed, below method will be called.
    @Override
    public void onDateSet(DatePicker view, int selectedYear,
                          int selectedMonth, int selectedDay) {

        year  = selectedYear;
        month = selectedMonth;
        day   = selectedDay;

        // Show selected date
        birthdate_edt.setText(new StringBuilder().append(month + 1)
                .append("-").append(day).append("-").append(year)
                .append(" "));

    }
};

答案 1 :(得分:1)

您可以使用DatePicker选择日期。它适合您的需要吗?

答案 2 :(得分:1)

您可以使用DatePicker选择日期。

检查此链接

exmple link

http://www.mkyong.com/android/android-date-picker-example/

Android链接

http://developer.android.com/reference/android/widget/DatePicker.html

答案 3 :(得分:1)

尝试这样的事情:

button.setOnClickListener(new View.OnClickListener(){
   @Override
   public void onClick(View v) {
      Dialog dlg = new DatePickerDialog(YourActivity.this, new DatePickerDialog.OnDateSetListener() {
         public void onDateSet(DatePicker view, int year, int month, int day) {
            yourEditText.setText(String.format("%02d.%02d.%04d", day, month+1, year);
         }
      }
   }
});

您也可以设置您的edittext不可聚焦以防止手动输入值