我不确定如何标题,但我的应用程序中的viewpager应该正常工作 - 实例化当前视图以及左视图和右视图。
我想知道的是,我是否可以在第一次加载viewpager时显示非viewpager元素的内容(在本例中为listview),然后在viewapager滚动时相应地更新。
相关代码:
_calendar.set(Calendar.MONTH, m);
_calendar.set(Calendar.YEAR, y);
holdTodaysDate.set(Calendar.MONTH, m);
holdTodaysDate.set(Calendar.YEAR, y);
_calendar = holdTodaysDate;
_calendar.add(Calendar.MONTH, offset-1);
month = _calendar.get(Calendar.MONTH)+1;
year = _calendar.get(Calendar.YEAR);
Log.d("Calendar", "Month Year" + month + " " + year);
eventsSummary.onEventsNavigation(month, year, date_value);
--calendar adapter--
问题是eventsSummary
(非viewpager元素)必须在加载viewpager时使用初始月份值加载,但由于viewpager加载了三次,因此eventsSummary
中会显示month + 1。
例如,2月是当前月份,它确实显示2月第一次加载viewpager,因为我在日志中可以看到,但是viewpager也实例化了下一个和上一个视图 - 所以1月加载和3月。 eventsSummary
最终显示三月的事件,而主日历(即ViewPager元素)显示二月。
如何让eventsSummary
显示2月份的事件,而不是3月份的事件,然后用用户刷过的月份更新其视图?
我使用方法shown here在片段eventsSummary
和Calendar ViewPager容器之间传递信息。
答案 0 :(得分:1)
我是否理解您在每个片段onCreate()
中设置日期?
也许您应该观察ViewPager显示的页面,并触发事件through an OnPageChangeListener。