2013-05-02 39 views
0

在我的應用程序中,我曾在碎片中打開一個新的對話框。我正在使用FrgmentPagerAdapter。每當我從代碼中打開一個新的活動,我得到一個空指針異常FragmentPagerAdapter vs FragmentStatePagerAdapter

java.lang.NullPointerException 
    at android.support.v4.app.FragmentManagerImpl.saveFragmentBasicState(FragmentManager.java:1576) 

很多搜​​索我來,我應該使用FragmentStatePagerAdapter而不是FragmentAdapter結束後。現在這已解決了空指針異常的問題。當使用片段適配器我曾在

@Override 
    public void setUserVisibleHint(boolean isVisibleToUser) { 
     super.setUserVisibleHint(isVisibleToUser); 
     if (isVisibleToUser) { 
        // 
     } 
    } 

編寫的代碼,知道什麼時候該片段變得對用戶可見。這個函數沒有被調用。我究竟做錯了什麼 ?任何人都可以使用Fragment Pager或setUserVisibleHint未使用FragmentStatePagerAdapter調用空指針異常的解決方案嗎?

回答

0

FragmentStatePagerAdapter有一個錯誤,它沒有正確調用setUserVisibleHint。它被固定在此承諾:https://github.com/android/platform_frameworks_support/commit/bf7974e46b008ffa4a16c61386735c4817d343aa

確保您使用Android支持庫的版本爲11或更高的http://developer.android.com/tools/support-library/index.html

Android的支持庫,版本11(2012年11月)

變化對於v4支持庫:

修復了FragmentStatePagerAdapter中用戶可見提示的問題。

相關問題