2013-12-14 37 views
1

我正在使用帶有FragmentPagerAdapter的動作欄選項卡。 (3個標籤) 我有onCreateOptions菜單設置在MainActivity,延伸FragmentActivity如何從FragmentActivity調用片段佈局以避免NullPointerException

此菜單包含一個保存按鈕,該按鈕在MainActivity上運行saveData()方法,該方法將數據保存在整個3個片段中。

問題是,當我第一次打開應用程序並點擊保存按鈕時,當此方法嘗試將數據保存到第3個片段時,我得到NPE。我知道這是因爲onCreateView()方法尚未調用,並且當切換選項卡時,saveData()方法正常工作。

問題是,我該如何避免NPE?或者我怎樣才能調用第三個片段的佈局,以便saveData()可以訪問其視圖。

+0

在此處張貼您現有的代碼。 – Piyush

回答

0

那麼,最簡​​單的方法是檢查你的Fragments視圖爲你的saveData()方法中的空值。如果需要保存每個片段的數據,則可以在ViewPager上使用this方法強制其一次加載所有片段。

+0

解決! setOffscreenPageLimit(int limit)非常感謝! –

+0

我無法檢查Fragment視圖爲null,因爲除非加載了Fragment佈局,否則有些變量設置爲零。這是由於我在onActivityCreated()啓動時調用loadData()。歡迎任何其他方法! –

+0

不客氣。 – Dmide

相關問題