android.support.v7.app.ActionBar.TabListener
, ViewPager
및 FragmentPagerAdapter
으로 Android에서 제공하는 Activity
탭을 사용하고 있습니다. 부모 Activty
cointains 및 관리 세 Fragment
. 또한 상위 액티비티에는 조각에서 제공하는 데이터를 저장하는 메소드가 있습니다. 그들에 정의 된 데이터를 얻을 수 (부모 활동에 의해 발송에 실패)하기 위해 나는 다음과 같은 코드를 작성하고 있습니다 : getActiveFragment()
는 사실findFragmentByTag()는 ActioBar의 세 번째 탭에서만 null을 반환합니다.
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;
}
입니다
MyFragment frag = (MyFragment) mSectionsPagerAdapter.getActiveFragment(mViewPager,1,getSupportFragmentManager());
을, 나는 다음과 같은 한 문제 : 세 조각에서 제공하는 데이터를 저장하려고하면 NULL 인 세 번째 조각으로 인해 java.lang.NullPointerException
이 발생합니다. 내 장치에 두 번째 또는 세 번째 조각을 표시하지 않는 경우에만 발생합니다. 이 동작을 피하고 수정하는 방법을 모르겠습니다. 제안 사항이 있으십니까?