Fragment Récursive entrée à executePendingTransactions Erreur
J'ai une erreur:
03-01 11:20:43.453: E/AndroidRuntime(31235): java.lang.RuntimeException: Error receiving broadcast Intent { act=com.qz.Blaze.ServiceStarted flg=0x10 } in com.qz.Blaze.$ServiceStartedReceiver@423540f0
03-01 11:20:43.453: E/AndroidRuntime(31235): at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:766)
03-01 11:20:43.453: E/AndroidRuntime(31235): at android.os.Handler.handleCallback(Handler.java:615)
03-01 11:20:43.453: E/AndroidRuntime(31235): at android.os.Handler.dispatchMessage(Handler.java:92)
03-01 11:20:43.453: E/AndroidRuntime(31235): at android.os.Looper.loop(Looper.java:137)
03-01 11:20:43.453: E/AndroidRuntime(31235): at android.app.ActivityThread.main(ActivityThread.java:4921)
03-01 11:20:43.453: E/AndroidRuntime(31235): at java.lang.reflect.Method.invokeNative(Native Method)
03-01 11:20:43.453: E/AndroidRuntime(31235): at java.lang.reflect.Method.invoke(Method.java:511)
03-01 11:20:43.453: E/AndroidRuntime(31235): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1027)
03-01 11:20:43.453: E/AndroidRuntime(31235): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)
03-01 11:20:43.453: E/AndroidRuntime(31235): at dalvik.system.NativeStart.main(Native Method)
03-01 11:20:43.453: E/AndroidRuntime(31235): Caused by: java.lang.IllegalStateException: Recursive entry to executePendingTransactions
03-01 11:20:43.453: E/AndroidRuntime(31235): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1416)
03-01 11:20:43.453: E/AndroidRuntime(31235): at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:461)
03-01 11:20:43.453: E/AndroidRuntime(31235): at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:141)
03-01 11:20:43.453: E/AndroidRuntime(31235): at android.support.v4.view.ViewPager.populate(ViewPager.java:1011)
03-01 11:20:43.453: E/AndroidRuntime(31235): at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:522)
03-01 11:20:43.453: E/AndroidRuntime(31235): at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:494)
03-01 11:20:43.453: E/AndroidRuntime(31235): at android.support.v4.view.ViewPager.setCurrentItem(ViewPager.java:475)
03-01 11:20:43.453: E/AndroidRuntime(31235): at com.qz.Blaze.Fragment.onCreateView(Fragment.java:53)
03-01 11:20:43.453: E/AndroidRuntime(31235): at android.support.v4.app.Fragment.performCreateView(Fragment.java:1460)
03-01 11:20:43.453: E/AndroidRuntime(31235): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:911)
03-01 11:20:43.453: E/AndroidRuntime(31235): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1088)
03-01 11:20:43.453: E/AndroidRuntime(31235): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
03-01 11:20:43.453: E/AndroidRuntime(31235): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1444)
03-01 11:20:43.453: E/AndroidRuntime(31235): at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:461)
03-01 11:20:43.453: E/AndroidRuntime(31235): at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:141)
03-01 11:20:43.453: E/AndroidRuntime(31235): at android.support.v4.view.ViewPager.populate(ViewPager.java:1011)
03-01 11:20:43.453: E/AndroidRuntime(31235): at android.support.v4.view.ViewPager.populate(ViewPager.java:880)
03-01 11:20:43.453: E/AndroidRuntime(31235): at android.support.v4.view.ViewPager.setAdapter(ViewPager.java:433)
03-01 11:20:43.453: E/AndroidRuntime(31235): at com.qz.XXX.XXXX.Init(.java:588)
03-01 11:20:43.453: E/AndroidRuntime(31235): at com.qz.Blaze..access$3(.java:546)
03-01 11:20:43.453: E/AndroidRuntime(31235): at com.qz.Blaze.$ServiceStartedReceiver.onReceive(.java:2416)
03-01 11:20:43.453: E/AndroidRuntime(31235): at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:756)
03-01 11:20:43.453: E/AndroidRuntime(31235): ... 9 more
À la ligne où je ne MyActivity.m_oPager.setCurrentItem(iCurrentView);
dans mon Activité qui est liée à cette carte ci-dessous:
public class FragmentPagerAdapter extends FragmentPagerAdapter
{
final int PAGE_COUNT_LOGGED_IN = 5;
final int PAGE_COUNT_LOGGED_OUT = 2;
TextView oTextView = null;
LayoutInflater inflater = null;
PagerTabStrip m_oPageTabStrip = null;
String m_strTab = null;
String[] m_strArray = null;
Context m_oContext = null;
/** Constructor of the class */
public FragmentPagerAdapter (Context context, FragmentManager oFragmentManager)
{
super (oFragmentManager);
m_oContext = context;
}
/** This method will be invoked when a page is requested to create */
@Override
public Fragment getItem(int arg0)
{
Fragment myFragment = new Fragment ();
Bundle data = new Bundle();
data.putInt("current_page", arg0+1);
myFragment.setArguments(data);
return myFragment;
}
/** Returns the number of pages */
@Override
public int getCount()
{
if (Utility.m_bIsLoggedIn == true)
{
return PAGE_COUNT_LOGGED_IN;
}
else
{
return PAGE_COUNT_LOGGED_OUT;
}
}
@Override
public CharSequence getPageTitle(int position)
{
String strText = " ";
switch(position)
{
case 0:
strText = "";
break;
case 1:
strText = "";
break;
case 2:
strText = "";
break;
case 3:
strText = "";
break;
case 4:
strText = "";
break;
}
Spannable s = Spannable.Factory.getInstance().newSpannable(strText);
Typeface tt = Typeface.createFromAsset(m_oContext.getAssets(), "fonts/fontinsansbolditalic.ttf");
s.setSpan (new CustomTypefaceSpan ("", tt), 0, strText.length(),Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
return s;
}
}
Avez-vous trouvé une solution?
double possible de ViewPager: Récursive entrée à executePendingTransactions
double possible de ViewPager: Récursive entrée à executePendingTransactions
OriginalL'auteur user1340801 | 2013-03-01
Vous devez vous connecter pour publier un commentaire.
Utilisation getChildFragmentManager() lors de la création de FragmentPagerAdapter. e.g:
Je ne peux pas le faire si le ViewPager est à l'intérieur d'une activité.
OriginalL'auteur spin.goran
Utiliser la dernière version de la bibliothèque de prise en charge que pour l'ancienne version de supportLibrary ne permet pas imbriquée fragments.
C'était bien de retour. Je ne sais pas quelle version la cause de ce problème pour moi alors.
J'ai searached beaucoup et la seule chose que j'ai trouvé est d'utiliser getChildFragmentManager() qui n'est pas applicable pour les activités. merci quand même 😉
OriginalL'auteur amalBit