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) 个答案