Java Android:DatePickerDialog只输入当前日期,不输入所选日期
我正在制作一个日期选择器对话框,用户将在其中选择一个日期并将其发送到数据库。问题是,每当我使用该对话框时,它只显示当前日期,而不是选择的日期 代码片段:Java Android:DatePickerDialog只输入当前日期,不输入所选日期,java,android,date,datepicker,Java,Android,Date,Datepicker,我正在制作一个日期选择器对话框,用户将在其中选择一个日期并将其发送到数据库。问题是,每当我使用该对话框时,它只显示当前日期,而不是选择的日期 代码片段: searchField = (EditText) findViewById(R.id.editText1); final Calendar myCalendar = Calendar.getInstance(); final DatePickerDialog.OnDateSetListener date =
searchField = (EditText) findViewById(R.id.editText1);
final Calendar myCalendar = Calendar.getInstance();
final DatePickerDialog.OnDateSetListener date = new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
// TODO Auto-generated method stub
myCalendar.set(Calendar.YEAR, year);
myCalendar.set(Calendar.MONTH, monthOfYear);
myCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
updateLabel();
}
};
searchField.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
new DatePickerDialog(Attendance.this, date, myCalendar
.get(Calendar.YEAR), myCalendar.get(Calendar.MONTH),
myCalendar.get(Calendar.DAY_OF_MONTH)).show();
}
});
private void updateLabel() {
String myFormat = "yyy-MM-dd"; //In which you need put here
SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.US);
searchField.setText(sdf.format(myCalendar.getTime()));
}
这是我的
DatePickerDialog
我在textView
上设置了onClickListener()
,在你的应用程序中使用它,效果非常好
int mYear, mMonth, mDay;
final Calendar c = Calendar.getInstance();
mYear = c.get(Calendar.YEAR);
mMonth = c.get(Calendar.MONTH);
mDay = c.get(Calendar.DAY_OF_MONTH);
dateView = (TextView) findViewById(R.id.date_view);
dateView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
DatePickerDialog dpd = new DatePickerDialog(MyActivity.this,
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int day) {
c.set(year, month, day);
String date = new SimpleDateFormat("MM/dd/yyyy").format(c.getTime());
dateView.setText(date);
mYear = c.get(Calendar.YEAR);
mMonth = c.get(Calendar.MONTH);
mDay = c.get(Calendar.DAY_OF_MONTH);
}
}, mYear, mMonth, mDay);
dpd.show();
}
});
这是无效代码(fgg后面没有逗号,这是什么意思?):new DatePickerDialog(attention.this,date,myCalendar.get(Calendar.YEAR),fgg myCalendar.get(Calendar.DAY/u/u MONTH)).show();
DatePickerDialog
中的fgg
是什么?而DatePickerDialog
有5个参数,您只设置了4个。monthOfYear在哪里?这是一个复制错误,抱歉谢谢你的回答,但是为什么在第17行调用变量时显示错误?它说,这些变量不是created@funnystuffc
是Calendar
类的对象。您已在代码中将其定义为myCalendar
。如果答案真的对你有帮助,请接受。@funnystuff你能告诉我确切位置而不是第17行吗?},mYear,Ammonth,mDay)@有趣的是,如果这些是整数值,请看我已经编辑了我的答案。