一个事件对象存储UserTask object
,int scheduledTime
和boolean[] daysOfWeekToRepeat
,表示应该重复的一周中的日期。
将这些Event对象插入稀疏数组
List<ArrayList<Event>> calendarEventsMatrix.
该结构已经过试用和测试,因此可行。我的下一步是设计一个允许用户在日历上查看这些事件的UI。用户还可以单击这些事件并添加,编辑或删除事件。
这是我目前的设计方案:
- 创建一个扩展LinearLayout的EventSlot.class。这将是整个日历的基础。每个EventSlot视图都有自己的onClickListener。
- 创建一个扩展LinearLayout的WeekColumn.class。这个WeekColumn将是一个垂直的LinearLayout,它将填充一堆EventSlot视图,这些视图将以某种方式为每天的每个小时编号。
- 创建一个将扩展LinearLayout的EventsFrame.class。 EventsFrame将是一个水平的LinearLayout,它将填充7个这些WeekColumn视图(一周中的每一天)。
- 创建一个将扩展ViewGroup的CalendarFrame.class。这将只是EventsFrame的容器,以及其他有用的TextView和标签。 CalendarFrame将被充气并放入我的片段中。
醇>
假设已经设置了所有这些,我的下一步是使用适配器将calendarEventsMatrix中的事件分配给日历。
我的想法是否正确?
我担心的是,我不希望每次用户想要打开日程安排日历时都要充斥这些视图。我应该用XML还是动态做事?什么是最适合此日历的适配器?