タイトルを他にどのように表現するかはわかりませんが、アプリケーションのビューページャーは正常に機能します。つまり、現在のビューと左右のビューをインスタンス化します。
私が知りたいのは、viewpager以外の要素(この場合はlistview)のコンテンツを、viewpagerの最初のロードで表示し、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が3回ロードされるため、month+1がに表示されeventsSummary
ます。
たとえば、2月は現在の月であり、ログに表示されているように、ビューページャーが最初に読み込まれたときに2月が表示されますが、ビューページャーは次のビューと前のビューもインスタンス化します。つまり、1月が読み込まれ、3月になります。最後に3月のeventsSummary
イベントが表示され、メインカレンダー(ViewPager要素)には2月が表示されます。
eventsSummary
3月ではなく2月のイベントを表示し、ユーザーがスワイプした月でビューを更新するにはどうすればよいですか?
ここに示すアプローチを使用して、フラグメントeventsSummary
とCalendarViewPagerコンテナーの間で情報を渡します。