Quelques informations: J'ai un fragment qui contient un viewpager avec trois fragments. La première fois que j'ouvre ce viewpager de fragment fonctionne. deuxième fois que je tente d'ouvrir ce fragment puis il se bloque avec la suite stacktraceJe tombe en panne dans mon Viewpager lorsque j'ouvre le fragment parent pour la deuxième fois
NOTE: Ce qui se passe sur KitKat au-dessus de 19 API son fonctionne bien
code de configuration ViewPager intérieur fragment parent
private void setupViewPager(ViewPager viewPager) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
adapter = new ViewPagerAdapter(getChildFragmentManager());
} else {
adapter = new ViewPagerAdapter(getFragmentManager());
}
adapter.addFrag(fragment1 , "Abc");
adapter.addFrag(fragment2, "Bcd");
adapter.addFrag(fragment3, "Cdf");
viewPager.setAdapter(adapter);
viewPager.setOffscreenPageLimit(2);
myTabs.setupWithViewPager(viewPager);
}
Mon adaptateur viewpager
class ViewPagerAdapter extends android.support.v13.app.FragmentPagerAdapter {
private final List<android.app.Fragment> mFragmentList = new ArrayList<>();
private final List<String> mFragmentTitleList = new ArrayList<>();
public ViewPagerAdapter(FragmentManager manager) {
super(manager);
}
@Override
public android.app.Fragment getItem(int position) {
return mFragmentList.get(position);
}
@Override
public long getItemId(int position) {
return super.getItemId(position);
}
@Override
public int getCount() {
return mFragmentList.size();
}
public void addFrag(android.app.Fragment fragment, String title) {
mFragmentList.add(fragment);
mFragmentTitleList.add(title);
}
@Override
public CharSequence getPageTitle(int position) {
return mFragmentTitleList.get(position);
}
}
Voici le stacktrace crash:
10-14 21:23:47.276 17601-17601/com.d.p E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.d.p, PID: 17601
java.lang.IllegalStateException: No activity
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1049)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1044)
at android.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:1853)
at android.app.Fragment.performActivityCreated(Fragment.java:1714)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:908)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1062)
at android.app.BackStackRecord.run(BackStackRecord.java:684)
at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1447)
at android.app.FragmentManagerImpl$1.run(FragmentManager.java:443)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5017)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
at dalvik.system.NativeStart.main(Native Method)
Vous pouvez vérifier [comment-créer-chaque-à-dynamiques onglets et ajoutez-différentes fonctionnalité fragment] (https://stackoverflow.com/questions/ 45457599/comment créer-dynamique-onglets-et-ajouter-différent-fonctionnalité-à-chaque-fragment-dans-un/45458706 # 45458706) – KeLiuyue
Ce n'est pas utile – Ritzor
Pourriez-vous l'essayer? – KeLiuyue