首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据采集Android

数据采集Android
EN

Stack Overflow用户
提问于 2016-10-02 09:05:15
回答 2查看 31关注 0票数 0

我已经在android中实现了一个datepick,但是我想做一些修改。我想使今天之前的日期和所有的星期日都无法选择,并且希望在今天之后至少3天确定第一个可选择的日期。例如,如果今天是星期五,我希望第一个可选择的日子是星期三(因为星期天是无法选择的)。如何实现这一点?

xml:

代码语言:javascript
复制
   <DatePicker
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/dpTake"
        android:textColor="@android:color/white"
        android:layout_gravity="center_horizontal" />

java:

代码语言:javascript
复制
private DatePicker dpTake;
dpTake=(DatePicker) rootView.findViewById(R.id.dpTake);
    int day=dpTake.getDayOfMonth();
    int month=dpTake.getMonth();
    int year=dpTake.getYear();
        String dateTake = String.valueOf(year)+"-"+String.valueOf(month)+"-"+String.valueOf(day);
        order.setDate_take(dateTake);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-02 09:11:41

代码语言:javascript
复制
datePicker.setMinDate(value);

这一行将设置最小日期。现在的价值是:

代码语言:javascript
复制
long value = ((day + 3) * convert_to_milliseconds) -System.currentTimeMillis();

您已经将“今日”转换为“MilliSeconds”(但是,如果您在早上7点接受输入,3天后的早上7点计算,3天后的早上7点计算,如果您想在12点修改,请执行一些编程!)

干杯!

ReEdit:这可能是work>

代码语言:javascript
复制
if (choosenDate.get(Calendar.DAY_OF_WEEK) == 
                Calendar.SUNDAY) {

        <  ..... Toast or SnackBar etc! ...... >

            }
票数 0
EN

Stack Overflow用户

发布于 2016-10-02 09:14:41

您可以尝试使用DatePicker.setMinDate()方法。为了前夫。创建Calendar实例:

代码语言:javascript
复制
Calendar c = Calendar.getInstance();
c.set(Calendar.DAY_OF_MONTH,-3); //-3 means 3 days before.
dpTake.setMinDate(c.getTimeInMillis());
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39815468

复制
相关文章

相似问题

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