在Android中创建模式日期选择器对话框
我有这段代码,工作正常,但窗口不是模态的,所以我无法得到更改后的日期。请给我一些建议或方法,提前谢谢 代码如下:在Android中创建模式日期选择器对话框,android,android-datepicker,Android,Android Datepicker,我有这段代码,工作正常,但窗口不是模态的,所以我无法得到更改后的日期。请给我一些建议或方法,提前谢谢 代码如下: final Calendar c = Calendar.getInstance(); int mYear = c.get(Calendar.YEAR); int mMonth = c.get(Calendar.MONTH); int mDay = c.get(Calendar.DAY_OF_MONTH); DatePickerDialog dpd = new DatePickerD
final Calendar c = Calendar.getInstance();
int mYear = c.get(Calendar.YEAR);
int mMonth = c.get(Calendar.MONTH);
int mDay = c.get(Calendar.DAY_OF_MONTH);
DatePickerDialog dpd = new DatePickerDialog(this,
new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year,
int monthOfYear, int dayOfMonth) {
TextView txtDate = null;
txtDate.setText(dayOfMonth + "-" + (monthOfYear + 1) + "-" + year);
}
public void onDateSet1(DatePicker view, int year,
int monthOfYear, int dayOfMonth) { // TODO
// Auto-generated
// method stub
}
}, mYear, mMonth, mDay);
dpd.show();
message("message", "Mensaje", mYear + "/" + mMonth + "/" + mDay, this, context);
“更改后我无法获取日期”是什么意思?当显示日期的窗口打开时,程序继续运行,直到我获得新日期,它才会停止。对话框不是模态的。同样,行“message()”表示调用函数后的日期,日期选择器窗口在后面,消息在前面。我希望用户选择日期,然后..消息。哦,这一行在对话框显示之后,而不是数据被更改。首先选择日期,然后显示消息。就像一个模态对话框。为什么不将消息移动到onDateSet中呢?
private int storeYear = 0;
private int storeMonth = 0;
private int storeDay = 0;
private void function openPicker(){
final TextView txtDate = findViewById(R.id.yourid);
final Calendar c = Calendar.getInstance();
int mYear = c.get(Calendar.YEAR);
int mMonth = c.get(Calendar.MONTH);
int mDay = c.get(Calendar.DAY_OF_MONTH);
DatePickerDialog dpd = new DatePickerDialog(this,
new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year,
int monthOfYear, int dayOfMonth) {
//TextView txtDate = null;
txtDate.setText(dayOfMonth + "-" + (monthOfYear + 1)
+ "-" + year);
storeYear = year;storeMonth = monthOfYear;storeDay = dayOfMonth;
message("message", "Mensaje", mYear + "/" + mMonth + "/"
+ mDay, this, context);
}
public void onDateSet1(DatePicker view, int year,
int monthOfYear, int dayOfMonth) { // TODO
// Auto-generated
// method stub
}
}, mYear, mMonth, mDay);
dpd.show();
}