如何在 android studio 中正确显示日期选择器对话框?
How to properly display Date picker dialogues in android studio?
我为 android 应用程序编写代码已经有一段时间了,之前从未遇到过这个问题。我已经在我的 android 应用程序中为 **datePickerDialogue**
编码。
问题是日期选择器不显示 OK 和 Cancel 按钮以及当前选择的日期在顶部。我在一个新项目中尝试了相同的代码,日期选择器在新创建的项目中 运行 非常好。可能是什么错误?谁能帮我解决这个问题?
我的 Targeted sdk 版本是 29,minSdkversion 是 15.
datePickerDialogue
的代码如下:
TextView date_view = (TextView) findViewById(R.id.date_view);
date_view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
DatePickerDialog datePickerDialog = new DatePickerDialog(MoraUserReserve.this,R.style.MyTimePickerDialogTheme,
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker datePicker, int year, int month, int day) {
date_view.setText(day + "/" + month + "/" + year);
}
}, year, month, dayOfMonth);
datePickerDialog.show();
}
});
This is what I get when I run my application
试试这个
全局声明。
private Calendar Calendar1 = Calendar.getInstance();
DatePickerDialog dpdialog;
在创建时初始化您的 DatePickerDialog
dpdialog = new DatePickerDialog(context, date, Calendar1
.get(Calendar.YEAR), Calendar1.get(Calendar.MONTH),
Calendar1.get(Calendar.DAY_OF_MONTH));
dpdialog.getDatePicker();
只要你想显示 DatePickerDialog 就放这个。
dpdialog.show();
本次取货日期
final DatePickerDialog.OnDateSetListener date = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
// TODO Auto-generated method stub
Calendar1.set(Calendar.YEAR, year);
Calendar1.set(Calendar.MONTH, monthOfYear);
Calendar1.set(Calendar.DAY_OF_MONTH, dayOfMonth);
updateCalendar1();
}
};
将您的操作放在这里(更改为您想要的日期格式,显示它edittext/textview,...)
private void updateCalendar1() {
String myFormat = "MM/dd/yyyy";
SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.US);
YOUR_TEXTVIEW.setText(sdf.format(Calendar1.getTime()));
}
我为 android 应用程序编写代码已经有一段时间了,之前从未遇到过这个问题。我已经在我的 android 应用程序中为 **datePickerDialogue**
编码。
问题是日期选择器不显示 OK 和 Cancel 按钮以及当前选择的日期在顶部。我在一个新项目中尝试了相同的代码,日期选择器在新创建的项目中 运行 非常好。可能是什么错误?谁能帮我解决这个问题?
我的 Targeted sdk 版本是 29,minSdkversion 是 15.
datePickerDialogue
的代码如下:
TextView date_view = (TextView) findViewById(R.id.date_view);
date_view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
DatePickerDialog datePickerDialog = new DatePickerDialog(MoraUserReserve.this,R.style.MyTimePickerDialogTheme,
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker datePicker, int year, int month, int day) {
date_view.setText(day + "/" + month + "/" + year);
}
}, year, month, dayOfMonth);
datePickerDialog.show();
}
});
This is what I get when I run my application
试试这个
全局声明。
private Calendar Calendar1 = Calendar.getInstance();
DatePickerDialog dpdialog;
在创建时初始化您的 DatePickerDialog
dpdialog = new DatePickerDialog(context, date, Calendar1
.get(Calendar.YEAR), Calendar1.get(Calendar.MONTH),
Calendar1.get(Calendar.DAY_OF_MONTH));
dpdialog.getDatePicker();
只要你想显示 DatePickerDialog 就放这个。
dpdialog.show();
本次取货日期
final DatePickerDialog.OnDateSetListener date = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
// TODO Auto-generated method stub
Calendar1.set(Calendar.YEAR, year);
Calendar1.set(Calendar.MONTH, monthOfYear);
Calendar1.set(Calendar.DAY_OF_MONTH, dayOfMonth);
updateCalendar1();
}
};
将您的操作放在这里(更改为您想要的日期格式,显示它edittext/textview,...)
private void updateCalendar1() {
String myFormat = "MM/dd/yyyy";
SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.US);
YOUR_TEXTVIEW.setText(sdf.format(Calendar1.getTime()));
}