Fragment 使用總結

fragment

activity生命周期對fragment的影響
activity生命周期對fragment的影響

ViewPager

  • fragment懶加載
private boolean isCreate;
   private boolean isVisibleToUser;

   @Override
   public void setUserVisibleHint(boolean isVisibleToUser) {
       this.isVisibleToUser=isVisibleToUser;
       loadData();
   }

   public void loadData(){
       //加載數據
   }
  • 出現空白
    viewpager 使用 FragmentPagerAdapter時,如果adapter中的fragment個數比viewpager可緩存的fragment個數多,當fragment被系統回收后,可能出現空白。可使用FragmentStatePagerAdapter解決此問題。

其他問題

  • 多個fragment引起的消息透傳
    在同一個activity中使用show hide切換顯示fragment時可能會遇到點擊當前顯示fragment空白處,其他fragment 響應點擊實現的問題。解決方法就是在fragment 的布局文件的根布局中添加 android:clickable="true" 或者給根布局添加 onTouchListener 將點擊事件消費掉
  • viewpager 中動態添加刪除
    viewpager中的adapter不同于listview等列表的Adapter,使用notifyDataSetChanged(),并不會引起界面的刷新。如果要刪除的界面已在viewpager緩存中需要使用代碼將fragmentmanager中的fragment刪除,并重新給viewpager設置adapter,要添加的界面position已經有fragment的時候,操作一樣。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容