android中 EditText控件 日期选择输入

XML文件

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".activity.ApplyActivity">


    <TextView
        android:id="@+id/textView42"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="32dp"
        android:layout_marginLeft="32dp"
        android:layout_marginTop="32dp"
        android:text="开始时间"
        android:textColor="#000"
        android:textSize="18sp"
        android:textStyle="bold"
        android:typeface="serif"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <EditText
        android:id="@+id/startTime"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="50dp"
        android:layout_marginLeft="50dp"
        android:hint="选择开始时间"
        android:textColor="#000"
        android:textSize="18sp"
        android:textStyle="normal"
        android:typeface="monospace"
        app:layout_constraintBottom_toBottomOf="@+id/textView42"
        app:layout_constraintStart_toEndOf="@+id/textView42"
        app:layout_constraintTop_toTopOf="@+id/textView42" />

    <TextView
        android:id="@+id/textView43"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="32dp"
        android:layout_marginLeft="32dp"
        android:layout_marginTop="32dp"
        android:text="结束时间"
        android:textColor="#000"
        android:textSize="18sp"
        android:textStyle="bold"
        android:typeface="serif"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/textView42" />

    <EditText
        android:id="@+id/endTime"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="50dp"
        android:layout_marginLeft="50dp"
        android:hint="选择结束时间"
        android:textColor="#000"
        android:textSize="18sp"
        android:textStyle="normal"
        android:typeface="monospace"
        app:layout_constraintBottom_toBottomOf="@+id/textView43"
        app:layout_constraintStart_toEndOf="@+id/textView43"
        app:layout_constraintTop_toTopOf="@+id/textView43" />


    <TextView
        android:id="@+id/textView47"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="32dp"
        android:layout_marginLeft="32dp"
        android:layout_marginTop="32dp"
        android:text="申请日期"
        android:textColor="#000"
        android:textSize="18sp"
        android:textStyle="bold"
        android:typeface="serif"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/textView43" />

    <EditText
        android:id="@+id/calendar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="50dp"
        android:layout_marginLeft="50dp"
        android:hint="选择申请日期"
        android:textColor="#000"
        android:textSize="18sp"
        android:textStyle="normal"
        android:typeface="monospace"
        app:layout_constraintBottom_toBottomOf="@+id/textView47"
        app:layout_constraintStart_toEndOf="@+id/textView47"
        app:layout_constraintTop_toTopOf="@+id/textView47" />


</androidx.constraintlayout.widget.ConstraintLayout>



Java文件

package com.hnucm.managersystem.activity;

import android.app.DatePickerDialog;
import android.content.Intent;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Spinner;

import androidx.appcompat.app.AppCompatActivity;

import com.hnucm.managersystem.R;

import java.util.Calendar;

public class ApplyActivity extends AppCompatActivity {
    //日历
    EditText mCalendar;
    EditText mStartTime;
    EditText mEndTime;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_apply);

        //初始化
        mCalendar = (EditText) findViewById(R.id.calendar);
        mStartTime = (EditText) findViewById(R.id.startTime);
        mEndTime = (EditText) findViewById(R.id.endTime);
        //点击
        showDateOnClick(mCalendar);
        showDateOnClick(mStartTime);
        showDateOnClick(mEndTime);
    }

    //点击打开日历,改变日期
    protected void showDateOnClick(final EditText editText){
        //点击事件传递,接触,点击打开
        editText.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View view, MotionEvent motionEvent) {
                if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) {
                    showDatePickDlg(editText);
                    return true;
                }

                return false;
            }
        });
        //改变日期
        editText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
            @Override
            public void onFocusChange(View view, boolean b) {
                if (b) {
                    showDatePickDlg(editText);
                }

            }
        });
    }

    //选择日期,改变文本
    protected void showDatePickDlg(final EditText editText) {
        Calendar calendar = Calendar.getInstance();
        DatePickerDialog datePickerDialog = new DatePickerDialog(ApplyActivity.this, new DatePickerDialog.OnDateSetListener() {
            @Override
            public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
                editText.setText(year + "年" + (monthOfYear + 1) + "月" + dayOfMonth + "日");
            }
        }, calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH));
        datePickerDialog.show();
    }

}

————————————————

转载于:https://blog.csdn.net/qq_46546793/article/details/115102107

猜你喜欢

转载自blog.csdn.net/weixin_42602900/article/details/123231099