Android Studio - Datepicker未显示当年的日历 [英] Android Studio - Datepicker not showing calendar from current year
问题描述
这是源代码: -
private void selectDate()
{
dpd = new DatePickerDialog(getActivity(),
new DatePickerDialog.OnDateSetListener()
{
@Override
public void onDateSet(DatePicker view,int year,int monthOfYear,int dayOfMonth)
{
c.set(year,monthOfYear,dayOfMonth);
selDate = year +/+ monthOfYear +/+ dayOfMonth;
Toast.makeText(getActivity(),dayOfMonth + - +(monthOfYear + 1)+ - + year,Toast.LENGTH_LONG) .show();
}
},mYear,mMonth,mDay);
dpd.show();
}
这是一个截图: -
正如你可以看到日历从1900开始,但我想要从当前日期开始
此外,您可以在左上角看到2,点击2,我可以将年份更改为无论我想要什么但是我不想在我的日期选择器中使用'2'符号/我应该如何将名称'2'更改为'更改年份'文本?
应该做什么?
提前感谢
我已经编辑过我的代码如下,现在我得到当前日期,即oct 2016
private void selectDate()
{
dpd = new DatePickerDialog(getActivity(),
new DatePickerDialog.OnDateSetListener()
{
@Override
public void onDateSet(DatePicker view,int year ,int monthOfYear,int dayOfMonth)
{
c.set(Calendar.YEAR,year);
c.set(Calendar.MONTH,monthOfYear);
c.set Calendar.DAY_OF_MONTH,dayOfMonth);
selDate = year +/+ monthOfYear +/+ dayOfMonth;
Toast.makeText(getActivity(),dayOfMonth + - +(monthOfYear + 1)+ - +年,Toast.LENGTH_LONG).show();
}
},mYear,mMonth,mD ay);
dpd.getDatePicker()。setMinDate(System.currentTimeMillis());
dpd.show();
}
这里是更新的屏幕截图:
查看此代码片段
DatePickerDialog dpd = new DatePickerDialog(MainActivity.this,
new DatePickerDialog.OnDateSetListener(){
final Calendar myCalendar = Calendar.getInstance();
@Override
public void onDateSet(DatePicker view,int year,
int monthOfYear,int dayOfMonth){
// TODO自动生成的方法存根
myCalendar.set(Calendar.YEAR,year);
myCalendar.set(Calendar.MONTH,monthOfYear);
myCalend ar.set(Calendar.DAY_OF_MONTH,dayOfMonth);
String myFormat =yyyy-MM-dd; //你需要放在这里
SimpleDateFormat sdf = new SimpleDateFormat(myFormat,Locale.US);
// expiry.setText(sdf.format(myCalendar.getTime()));
}
},mYear,mMonth,mDay);
dpd.getDatePicker()。setMinDate(System.currentTimeMillis());
dpd.show();
in my Android Project i have a DatePicker which directly starts from year 1900.
Here is the source code:-
private void selectDate()
{
dpd = new DatePickerDialog(getActivity(),
new DatePickerDialog.OnDateSetListener()
{
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth)
{
c.set(year, monthOfYear, dayOfMonth);
selDate=year+"/"+monthOfYear+"/"+dayOfMonth;
Toast.makeText(getActivity(), dayOfMonth + "-" + (monthOfYear + 1) + "-" + year, Toast.LENGTH_LONG).show();
}
}, mYear, mMonth, mDay);
dpd.show();
}
Here is a screenshot of the same:-
As you can see the calendar starts from 1900 but i want it to start from the current date
Also, you can see '2' written on the top left corner, on clicking '2' i can change the year to whatever i want to; but I don't want the '2' symbol in my Date Picker/ how i should i change the name '2' to 'Change year' text?
What should be done? Where do i need to incorporate the necessary changes?
Thanks in advance.
I have edited my code as follows and now i am getting the current date i.e oct 2016
private void selectDate()
{
dpd = new DatePickerDialog(getActivity(),
new DatePickerDialog.OnDateSetListener()
{
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth)
{
c.set(Calendar.YEAR, year);
c.set(Calendar.MONTH, monthOfYear);
c.set(Calendar.DAY_OF_MONTH, dayOfMonth);
selDate=year+"/"+monthOfYear+"/"+dayOfMonth;
Toast.makeText(getActivity(), dayOfMonth + "-" + (monthOfYear + 1) + "-" + year, Toast.LENGTH_LONG).show();
}
}, mYear, mMonth, mDay);
dpd.getDatePicker().setMinDate(System.currentTimeMillis());
dpd.show();
}
And here is the updated screenshot:
Check out this code snippet
DatePickerDialog dpd = new DatePickerDialog(MainActivity.this,
new DatePickerDialog.OnDateSetListener() {
final Calendar myCalendar = Calendar.getInstance();
@Override
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);
String myFormat = "yyyy-MM-dd"; //In which you need put here
SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.US);
// expiry.setText(sdf.format(myCalendar.getTime()));
}
}, mYear, mMonth, mDay);
dpd.getDatePicker().setMinDate(System.currentTimeMillis());
dpd.show();
这篇关于Android Studio - Datepicker未显示当年的日历的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!