Android - 选择时间和日期

时间:2015-10-12 10:07:22

标签: android datepicker

我正在尝试构建一个应用程序,其中有一个Date&在EditText中显示的时间。当用户点击EditText时,它应该会打开DatePicker,如果用户选择了日期或点击了确定Button,则应自动打开TimePicker

我希望处理这两个值并在同一EditText中显示。我编写了方法:getDatePickergetTimePicker,它们都有效。

我如何组合它们?我是否可以在getDatePicker中打开Dialog并按下确定按钮,当点击该按钮时,它会将值存储在String中并打开getTimePicker相同的Dialog

以下是getDatePicker的代码,getTimePicker看起来与使用TimePicker完全相同:

private static void getDatePicker(Context context, final TextView dateValue)
{
    final Calendar calendar = Calendar.getInstance();
    int year = calendar.get(Calendar.YEAR);
    final int month = calendar.get(Calendar.MONTH);
    int day = calendar.get(Calendar.DAY_OF_MONTH);

    DatePickerDialog datePicker = new DatePickerDialog(context, new DatePickerDialog.OnDateSetListener()
    {
        @Override
        public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth)
        {
            // Month formatting and handling the month index starting at 0 instead of 1
            String monthValue = ((monthOfYear + 1) > 0 && (monthOfYear + 1) < 10) ? ("0" + (monthOfYear + 1)) : String.valueOf(monthOfYear + 1);
            // Day formatting
            String dayValue = (dayOfMonth > 0 && dayOfMonth < 10) ? ("0" + dayOfMonth) : String.valueOf(dayOfMonth);
            String dateToPrint = year + "-" + monthValue + "-" + dayValue;
            dateValue.setText(dateToPrint);
        }
    }, year, month, day);
    datePicker.show();
}

任何帮助将不胜感激。谢谢

1 个答案:

答案 0 :(得分:1)

dateValue.appendText()就是你所需要的。