有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Android Studio中单个活动中的java多个日期选择器

我目前正在为安卓 studio开发多个日期选择器。但是,它一直给我带来尴尬的问题。我写的代码有什么问题吗

我目前只使用一个initDatePicker(),但我改变了,因为它不起作用。是否有其他方法或变量需要我通过复制多次使用

import 安卓x.appcompat.app.AppCompatActivity;

import 安卓.app.AlertDialog;
import 安卓.app.DatePickerDialog;
import 安卓.os.Bundle;
import 安卓.view.View;
import 安卓.widget.Button;
import 安卓.widget.DatePicker;

import java.util.Calendar;
import java.util.Date;

public class SetVacay extends AppCompatActivity {

    private DatePickerDialog datePickerDialog;

    private Button paidButtonS;
    private Button paidButtonE;
    private Button rewardButtonS;
    private Button rewardButtonE;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_set_vacay);
        initDatePicker1();
        initDatePicker2();
        initDatePicker3();
        initDatePicker4();
        paidButtonS = findViewById(R.id.paidbuttonS_id);
        paidButtonE = findViewById(R.id.paidbuttonE_id);
        paidButtonS.setText(getTodaysdate());
        paidButtonE.setText(getTodaysdate1());
        rewardButtonS = findViewById(R.id.rewardbuttonS_id);
        rewardButtonE = findViewById(R.id.rewardbuttonE_id);
        rewardButtonS.setText(getTodaysdate());
        rewardButtonE.setText(getTodaysdate());

    }

    private String getTodaysdate() {
        Calendar cal = Calendar.getInstance();
        int year = cal.get(Calendar.YEAR);
        int month = cal.get(Calendar.MONTH);
        int day = cal.get(Calendar.DAY_OF_MONTH);

        return makeDateString(year, month, day);
    }

    private String getTodaysdate1() {
        Calendar cal = Calendar.getInstance();
        int year = cal.get(Calendar.YEAR);
        int month = cal.get(Calendar.MONTH);
        int day = cal.get(Calendar.DAY_OF_MONTH);

        return makeDateString(year, month, day);
    }

    private void initDatePicker1() {
        DatePickerDialog.OnDateSetListener dateSetListener = new DatePickerDialog.OnDateSetListener() {
            @Override
            public void onDateSet(DatePicker datePicker, int year, int month, int day) {
                month = month + 1;
                String date = makeDateString(year, month, day);
                paidButtonS.setText(date);

            }
        };
        Calendar cal = Calendar.getInstance();
        int year = cal.get(Calendar.YEAR);
        int month = cal.get(Calendar.MONTH);
        int day = cal.get((Calendar.DAY_OF_MONTH));
        int style = AlertDialog.THEME_HOLO_LIGHT;
        datePickerDialog = new DatePickerDialog(this, style, dateSetListener, year, month, day);
    }

    private void initDatePicker2() {
        DatePickerDialog.OnDateSetListener dateSetListener = new DatePickerDialog.OnDateSetListener() {
            @Override
            public void onDateSet(DatePicker datePicker, int year, int month, int day) {
                month = month + 1;
                String date = makeDateString(year, month, day);
                paidButtonE.setText(date);
            }
        };
        Calendar cal = Calendar.getInstance();
        int year = cal.get(Calendar.YEAR);
        int month = cal.get(Calendar.MONTH);
        int day = cal.get((Calendar.DAY_OF_MONTH));
        int style = AlertDialog.THEME_HOLO_LIGHT;
        datePickerDialog = new DatePickerDialog(this, style, dateSetListener, year, month, day);
    }

    private void initDatePicker3() {
        DatePickerDialog.OnDateSetListener dateSetListener = new DatePickerDialog.OnDateSetListener() {
            @Override
            public void onDateSet(DatePicker datePicker, int year, int month, int day) {
                month = month + 1;
                String date = makeDateString(year, month, day);
                rewardButtonS.setText(date);

            }
        };
        Calendar cal = Calendar.getInstance();
        int year = cal.get(Calendar.YEAR);
        int month = cal.get(Calendar.MONTH);
        int day = cal.get((Calendar.DAY_OF_MONTH));
        int style = AlertDialog.THEME_HOLO_LIGHT;
        datePickerDialog = new DatePickerDialog(this, style, dateSetListener, year, month, day);
    }

    private void initDatePicker4() {
        DatePickerDialog.OnDateSetListener dateSetListener = new DatePickerDialog.OnDateSetListener() {
            @Override
            public void onDateSet(DatePicker datePicker, int year, int month, int day) {
                month = month + 1;
                String date = makeDateString(year, month, day);
                rewardButtonE.setText(date);
            }
        };
        Calendar cal = Calendar.getInstance();
        int year = cal.get(Calendar.YEAR);
        int month = cal.get(Calendar.MONTH);
        int day = cal.get((Calendar.DAY_OF_MONTH));
        int style = AlertDialog.THEME_HOLO_LIGHT;
        datePickerDialog = new DatePickerDialog(this, style, dateSetListener, year, month, day);
    }

    private String makeDateString(int year, int month, int day) {
        return year + "년 " + month + "월 " + day + "일";
    }

    public void openDatePicker(View view) {
        datePickerDialog.show();
    }


}

我不知道如何在一个活动中编写多个日期选择器。求你了,我需要帮助


共 (0) 个答案