我不知道它返回的月份下面的代码有什么问题。
例如:当我点击2016年6月26日时,它显示为2016年6月26日
calendar = (CalendarView) findViewById(R.id.calendar);
calendar.setOnDateChangeListener(new OnDateChangeListener() {
@Override public void onSelectedDayChange(
CalendarView view,
int year,
int month,
int dayOfMonth ) {
Toast.makeText(getApplicationContext(),
""+dayOfMonth+ " / " + month + " / " + year, 0).show();
}
});
答案 0 :(得分:1)
试试这个:
月份是基于零的值,表示1月份为0,依此类推。您必须在月份值中添加1。
Toast.makeText(getApplicationContext(), ""+dayOfMonth+ " / " + (month+1) + " / " + year, 0).show();
答案 1 :(得分:0)
Calendar.MONTH返回从零开始的月份,这就是为什么它比实际月份少1,为了获得正确的值而添加1。
String result = String.valueOf(c.get(Calendar.MONTH)+1);
学分:@Manishika
答案 2 :(得分:0)
感谢所有回复。这个编码工作我刚刚初始化一个变量来增加月份
calendar=(CalendarView) findViewById(R.id.calendar);
calendar.setOnDateChangeListener(new OnDateChangeListener() {
@Override
public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) {
int mon=month+1;
Toast.makeText(getApplicationContext(), ""+dayOfMonth+ " / " + mon + " / " + year, Toast.LENGTH_SHORT).show();
}
});
答案 3 :(得分:-1)
试试这个Toast.makeText(getApplicationContext(), ""+dayOfMonth+ " / " + (month+1) + " / " + year, Toast.LENGTH_SHORT).show();