首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android - DateTimePicker

Android - DateTimePicker
EN

Stack Overflow用户
提问于 2014-04-14 04:26:53
回答 1查看 906关注 0票数 0

我是android编程的新手。我正在尝试使用谷歌最新的datetimepicker功能。我从https://android.googlesource.com/platform/frameworks/opt/datetimepicker/+/e91a5dcdcc786074be1f6a9f2a4d79b99e34e18e下载了源代码,并将其导入到我自己的项目中。到目前为止,我没有任何错误,但我不知道如何利用这个函数,并在我的项目中测试它。我想有一个对话框,将提供给用户选择小时和分钟的能力,并点击按钮将这些数据保存到我的应用程序中。

示例:https://scontent-b-lhr.xx.fbcdn.net/hphotos-ash3/t1.0-9/10157365_10203642451081150_8056765662416057326_n.jpg

EN

回答 1

Stack Overflow用户

发布于 2014-04-14 07:10:02

日历应用程序有在EditEventFragment中调用DatePickerDialog的代码(我想)

它看起来像这样:

代码语言:javascript
复制
private class DateListener implements DatePickerDialog.OnDateSetListener {
    View mView;

    public DateListener(View view) {
        mView = view;
    }

    @Override
    public void onDateSet(DatePickerDialog view, int year, int month, int monthDay) {
        // Cache the member variables locally to avoid inner class overhead.
        Time startTime = mStartTime;
        Time endTime = mEndTime;

        // Cache the start and end millis so that we limit the number
        // of calls to normalize() and toMillis(), which are fairly
        // expensive.
        long startMillis;
        long endMillis;
        if (mView == mFromDateButton) {

            startTime.year = year;
            startTime.month = month;
            startTime.monthDay = monthDay;
            startMillis = startTime.normalize(true);
            setDate(mFromDateButton, startMillis);

        } else {
            endTime.year = year;
            endTime.month = month;
            endTime.monthDay = monthDay;
            // Do not allow an event to have an end time before the start
            // time.
            if (endTime.before(mStartTime)) {
                endTime.set(mStartTime);
            }
            endMillis = endTime.normalize(true);
            setDate(mToDateButton, endMillis);
        }

    }
}

private DatePickerDialog mDatePickerDialog;
private class DateClickListener implements View.OnClickListener {
    private Time mTime;

    public DateClickListener(Time time) {
        mTime = time;
    }

    @Override
    public void onClick(View v) {

        final DateListener listener = new DateListener(v);
        if (mDatePickerDialog != null) {
            mDatePickerDialog.dismiss();
        }
        mDatePickerDialog = DatePickerDialog.newInstance(listener,
                mTime.year, mTime.month, mTime.monthDay);
         mDatePickerDialog.setFirstDayOfWeek(PickerUtils.getFirstDayOfWeekAsCalendar( getActivity()));
        mDateRangePickerDialog.setYearRange(mToday.year, mToday.year + 2);
        mDateRangePickerDialog.show(getActivity().getFragmentManager(), "datePicker");
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23048041

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档