Android 输入运行时间(某些对话框?)

Android 输入运行时间(某些对话框?),android,android-layout,android-view,android-datepicker,Android,Android Layout,Android View,Android Datepicker,我需要用户输入执行某项任务所需的时间,例如:01h:35mm:00ss。格式可能会有所不同 此任务是否有类似于DatePickerDialog的内容?通过这种方式,它可以避免引入错误的格式,最重要的是,它更优雅,用户更舒适。好的,有内置的类。请参阅以下代码,作为“快速和肮脏”示例,以选择小时和分钟: static boolean bPickedTimeIsValid = false; public void showTimePicker () { bPickedTimeIsValid

我需要用户输入执行某项任务所需的时间,例如:01h:35mm:00ss。格式可能会有所不同


此任务是否有类似于DatePickerDialog的内容?通过这种方式,它可以避免引入错误的格式,最重要的是,它更优雅,用户更舒适。

好的,有内置的类。请参阅以下代码,作为“快速和肮脏”示例,以选择小时和分钟:

static boolean bPickedTimeIsValid = false;

public void showTimePicker ()
{
    bPickedTimeIsValid = false;

    DialogFragment newFragment = new TimePickerFragment ();
    newFragment.show (getFragmentManager (), "timePicker");
}

public static class TimePickerFragment extends DialogFragment implements TimePickerDialog.OnTimeSetListener
{
    @Override
    public Dialog onCreateDialog (Bundle savedInstanceState)
    {
        // Use the current time as the default values for the picker
        final Calendar c = Calendar.getInstance ();
        int hour = c.get (Calendar.HOUR_OF_DAY);
        int minute = c.get (Calendar.MINUTE);

        // Create a new instance of TimePickerDialog and return it
        return new TimePickerDialog (getActivity (), this, hour, minute, DateFormat.is24HourFormat (getActivity ()));
    }

    public void onTimeSet (TimePicker view, int hourOfDay, int minute)
    {
        // Time has been chosen by the user, do something with it!

        pickedTimeHour = hourOfDay;
        pickedTimeMinutes = minute;
        bPickedTimeIsValid = true;

        // Process the picked time as needed...
    }
}
在您的应用程序中,您将调用
showTimePicker()
,并将用户选择时间时需要执行的代码放入
onTimeSet()


当然,最长持续时间限制为一天。

你想为timepicker定制对话框吗?试试看,我认为一个
timepicker
不是为他的需求挑选合适的工具。:)考虑到他写的“是否有类似于DatePickerDialog的东西”,我敢相信TimePickerDialog是类似的东西。虽然最大长度限制为一天,但你不需要自己编写任何代码,你就可以从谷歌获得一个看起来像股票的本地对话框。