为片段中的日历创建onDateChangeListener

时间:2015-12-11 20:55:25

标签: android-fragments

public class ThreeFragment extends Fragment implements CalendarView.OnDateChangeListener{

private View thisView;
CalendarView scheduleCalendarView;
private ProgressDialog pDialog;
private List<Schedule> scheduleList = new ArrayList<Schedule>();
private List<Schedule> dayScheduleList = new ArrayList<Schedule>();
private User user = new User();
Long date;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
    thisView = inflater.inflate(R.layout.activity_calendat_view_test1, container, false);
    user = (User)getActivity().getIntent().getSerializableExtra("USER");

    scheduleCalendarView = (CalendarView)thisView.findViewById(R.id.scheduleCalendarView);
    date = scheduleCalendarView.getDate();
    scheduleCalendarView.setOnDateChangeListener(this);

    return thisView;
    }
    public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) {
    if(scheduleCalendarView.getDate() != date){
        date = scheduleCalendarView.getDate();

        Date selectedDate = new Date();
        selectedDate.setMonth(month);
        selectedDate.setDate(dayOfMonth);
        selectedDate.setYear(year);
        boolean exist = false;
        for(int i = 0 ; i < dayScheduleList.size();i++){
            if(dayScheduleList.get(i).getDate().compareTo(selectedDate)==0){
                exist = true;
                Intent intent = new Intent(getActivity(),Main2Activity.class);
                intent.putExtra("SCHEDULE",dayScheduleList.get(i));
                getActivity().startActivity(intent);
            }
        }
        if(!exist){
            Toast toast = Toast.makeText(getContext(),"No schedule applied",Toast.LENGTH_SHORT);
        }
    }
}
 }

我不知道为什么在执行scheduleCalendarView.setOnDateChangeListener(this)时应用程序崩溃了; 我已经分配了片段来实现OnDateChangeListener,但是它不起作用,请帮助

1 个答案:

答案 0 :(得分:0)

解决方法CalendarView.onDateChangeListener,View.onClickListener