屏幕上有CalendarView,我想在同一屏幕上显示所选日期。我希望它在用户更改所选日期时动态更改。
这在我的手机LG G2中非常完美。每当我在日历中选择日期时,它会显示该日期。但是在Nexus 10平板电脑中,无论我选择哪个日期,它都会返回当天。如果我一直在改变日期,那么任何改变都不会显示当天。
这是我的代码的相关部分。
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
rootview = inflater.inflate(R.layout.calendar_layout, container, false);
calendarView = (CalendarView) rootview.findViewById(R.id.calendarView);
selectedDate = (TextView) rootview.findViewById(R.id.textView5);
calendarView.setOnDateChangeListener(new CalendarView.OnDateChangeListener(){
public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth){
date = new Date(calendarView.getDate());
dateString = simpleDate.format(date);
MainActivity.selectedDate=dateString;
selectedDate.setText(dateString);
}
});
return rootview;
}
代码有什么问题吗? CalendarView在手机和平板电脑中的作用可能是什么原因?谢谢你的回答。
答案 0 :(得分:0)
我在Lollipop的设备上遇到了完全相同的问题。我唯一能想到的是在Calendar
onSelectedDayChange
public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth){
Calendar c = Calendar.getInstance();
c.set(year, month, dayOfMonth);
Date d = c.getTime; // here is your correct date
}