, 나는이 : setup()
에서조각이 추가되지 (일관성 충돌) 내 <code>MainActivity</code>에서
@Override
protected void onResume() {
super.onResume();
checkForCrashes();
checkForTutorial();
checkForUpdates();
setStore();
setup();
}
, 내가 콜백에 initializeTabs()
전화 : 마지막 줄은 일부 고객에 대한 충돌한다
protected void setup() {
final Store s = getStore();
setBackground();
if (s == null) {
unauthorizedHandler();
return;
}
final Context mainActivity = this;
fragments = getTabFragments();
StoresController.getStoreDetails(s, mainActivity, new Callback<StoreDetailDecorator>() {
@Override
public void success(StoreDetailDecorator storeDetailDecorator, Response response) {
s.prettyName = storeDetailDecorator.store.pretty_name;
s.save();
Log.v(TAG, s.prettyName);
TextView toolbar_label = (TextView)findViewById(R.id.toolbar_label);
toolbar_label.setText(MainActivity.getTruncatedMenuName(s.name()));
SummaryTab t1 = (SummaryTab)fragments.get(0);
t1.notifier = (SummaryTabLoadingNotifier)mainActivity;
initializeTabs(s, fragments);
t1.populateReport();
}
}
}
public void initializeTabs(Store s, List<Fragment> fragments) {
ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager(), getTabTitles(), fragments);
ViewPager pager = (ViewPager) findViewById(R.id.pager);
pager.setOffscreenPageLimit(2);
pager.setAdapter(adapter);
}
있다.
java.lang.IllegalStateException: Fragment InfoTab{1bcb80f} is not currently in the FragmentManager
하지만 항상 그렇지는 않습니다. 왜 이런 일이 발생합니까? 연결되지 않은 프래그먼트와 관련이 있습니까? 조각에 대해 isAdded()
을 확인하는 방법에 대한 몇 가지 사항을 읽었습니다. 그러나 조각이 활동에 추가되었는지 확인하기위한 것입니다. 나는 FragmentStatePagerAdapter
사용하고 있습니다
public class ViewPagerAdapter extends FragmentStatePagerAdapter {
private CharSequence[] titles;
private List<Fragment> fragmentList = new ArrayList<>();
public ViewPagerAdapter(FragmentManager fragmentManager, CharSequence titles[], List<Fragment> fragmentList) {
super(fragmentManager);
this.titles = titles;
this.fragmentList = fragmentList;
}
@Override
public android.support.v4.app.Fragment getItem(int position) {
return fragmentList.get(position);
}
@Override
public CharSequence getPageTitle(int position) { return titles[position]; }
@Override
public int getCount() { return fragmentList.size(); }
@Override
public Parcelable saveState() {
return null;
}
}
는 saveState(){ return null;}
이 될 수 있을까요? 이것은 내가 이해할 때마다 언제나 그 견해가 새로 고침되도록하는 것입니다.
귀하의 질문과 유사하고 명확한 대답은 여기에 있습니다> http://stackoverflow.com/a/11296700/5188159 –