我使用的是标签式Activity
由Android所提供android.support.v7.app.ActionBar.TabListener
, ViewPager
和FragmentPagerAdapter
。 父Activty
cointains和管理三个Fragment
。 此外,父活动有一个方法来保存由所述片段所提供的数据。 为了得到他们(而不是由父活动sended)定义的数据,我写了下面的代码:
MyFragment frag = (MyFragment) mSectionsPagerAdapter.getActiveFragment(mViewPager,1,getSupportFragmentManager());
凡getActiveFragment()
是
public Fragment getActiveFragment(ViewPager container, int position, FragmentManager mFragmentManager) {
String name = makeFragmentName(container.getId(), position);
return mFragmentManager.findFragmentByTag(name);
}
private String makeFragmentName(int viewId, int index) {
return "android:switcher:" + viewId + ":" + index;
}
其实,我有以下问题:当我尝试节省三个片段提供的数据,我有一个java.lang.NullPointerException
所造成的第三个片段是空。 出现这种情况只有在我没有我的设备的第二个或第三个片段上显示。 我不明白如何避免和解决这个问题。 任何建议?