2013-12-14 31 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

相关问题