0

在這裏,我有一個活動viewpager在適配器中有FragmentA,FragmentB,FragmentC和FragmentD。如何將ViewPager表單數據保存到下一個頁面android

所有碎片都有FORM數據。當我從FragmentA滑動到FragmentB時,我必須在FragmentB可見之前保存FragmentA的表單數據,並且以相同的方式從FragmentB滑動到FragmentC時,我必須在FragmentC可見之前保存FragmentB的表單數據。

這可能嗎?如果是,如何做到這一點?

+0

使用setUserVisibleHint()方法來管理你的Fragment檢查或檢查這個http://stackoverflow.com/questions/24161160/setuservisiblehint-called-before-oncreateview-in-fragment – Shailesh

+0

是的,這個工程。謝謝 !! – jazzbpn

回答

0

當您滑動到下一個片段時,可以將這些詳細信息保存在「共享」偏好設置中。對於刷卡

  viewPagerBanner.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { 
      private static final float thresholdOffset = 0.5f; 
      private boolean scrollStarted, checkDirection, check; 

      @Override 
      public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { 
       if (checkDirection) { 
        if (thresholdOffset > positionOffset && position == 0) { 
         check = true; 
        } else { 
         check = false; 
        } 
        checkDirection = false; 
       } 
      } 

      @Override 
      public void onPageSelected(int position) { 
       currentPosition = position; 
      } 

      @Override 
      public void onPageScrollStateChanged(int state) { 

       // You can save current form fields here 
       } 

      } 
     }); 

共享偏好

SharedPreferences sharedHead = context.getSharedPreferences("UniqueName", Context.MODE_PRIVATE);  
SharedPreferences.Editor editor = sharedHead.edit(); 
editor.putInt("name", "Developer"); 
editor.apply(); 

閱讀這些數據最後片段

String name = sharedHead.getInt("name", "noName"); 

我希望這可以幫助你。謝謝

相關問題