选择一个日期范围

需要用到的原因是,我在公司做一个统计功能,这个功能需要有一个日期筛选功能。大概需求就是先择一个时间范围。选择时间范围是点击按钮弹出两个日历,第一个是开始日期,第二个是结束日期,不说了上代码

   <androidx.constraintlayout.widget.ConstraintLayout
                android:layout_width="match_parent"
                android:layout_height="400dp">

                <Button
                    android:id="@+id/showdailogTwo"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="日期选择日期范围"
                    app:layout_constraintStart_toStartOf="parent"
                    app:layout_constraintTop_toTopOf="parent" />
            </androidx.constraintlayout.widget.ConstraintLayout>

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center_horizontal"
    android:orientation="vertical">


    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="15dp"
        android:text="开始时间" />

    <DatePicker
        android:id="@+id/st"
        android:layout_width="wrap_content"
        android:layout_height="198dp"
        android:calendarViewShown="false"></DatePicker>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:text="结束时间" />

    <DatePicker
        android:id="@+id/et"
        android:layout_width="wrap_content"
        android:layout_height="198dp"
        android:calendarViewShown="false"></DatePicker>


</LinearLayout>
    String st;
    String et;
protected void showDialogTwo() {
        View view = LayoutInflater.from(getContext()).inflate(R.layout.dialog_date, null);
        final DatePicker startTime = (DatePicker) view.findViewById(R.id.st);
        final DatePicker endTime = (DatePicker) view.findViewById(R.id.et);
        startTime.updateDate(startTime.getYear(), startTime.getMonth(), 01);
        AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
        builder.setTitle("选择时间");
        builder.setView(view);
        builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                int month = startTime.getMonth() + 1;
                st = "" + startTime.getYear() + "-" + month + "-" + startTime.getDayOfMonth();
                int month1 = endTime.getMonth() + 1;
                et = "" + endTime.getYear() + "-" + month1 + "-" + endTime.getDayOfMonth();
                Toast.makeText(getContext(), "开始日期是:" + st + "结束日期是:" + et, Toast.LENGTH_SHORT).show();
            }
        });
        builder.setNegativeButton("取消", null);
        AlertDialog dialog = builder.create();
        dialog.show();
        //自动弹出键盘问题解决
        dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
    }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值