回覆列表
  • 1 # 格利克曼與時俱進我

    左右滑動切換是透過viewPager來實現的,完整程式碼檢視附件。ViewPager的資料是透過PageAdapter來裝載的:

    1. 呼叫adapter.notifyDataSetChanged(); 重新整理控制元件,但是要覆蓋PagerAdapter的getItemPosition方法,並返回 return POSITION_NONE;

    2. 利用PagerAdapter的工作機制,就是PagerAdapter的執行順序, PagerAdapter作為ViewPager的介面卡,無論ViewPager有多少頁,PagerAdapter在初始化時也只初始化開始的2個View,即呼叫2次instantiateItem方法。而接下來每當ViewPager滑動時,PagerAdapter都會呼叫destroyItem方法將距離該頁2個步幅以上的那個View銷燬,以此保證PagerAdapter最多隻管轄3個View,且當前View是3箇中的中間一個,如果當前View缺少兩邊的View,那麼就instantiateItem,如裡有超過2個步幅的就destroyItem。

    3. 每當Adapter呼叫instantiateItem時,運用View.setTag方法將該View標識。當需要更新這個View的資料時,透過呼叫ViewPager.findViewWithTag方法找到相應的View,然後更新View中的資料。

  • 中秋節和大豐收的關聯?
  • 我的母親作文以景物描寫開篇?