Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

java.lang.IllegalStateException: Recursive entry to executePendingTransactions when swap between branches #14

Open
antonshkurenko opened this issue Oct 13, 2015 · 4 comments

Comments

@antonshkurenko
Copy link
Contributor

I'm trying to implement this library by changing the sample. Currently I just changed WizardModel but didn't touch anything in MainActivity. I get an exception, I tried to google and I found that I have to change getSupportFragmentManager() to getChildFragmentManager() but I ain't able to do this, because I'm inside activity. Here's stacktrace:

E/AndroidRuntime: FATAL EXCEPTION: main
E/AndroidRuntime: Process: me.cullycross.example, PID: 16709
E/AndroidRuntime: java.lang.IllegalStateException: Recursive entry to executePendingTransactions
E/AndroidRuntime:     at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1544)
E/AndroidRuntime:     at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:545)
E/AndroidRuntime:     at android.support.v4.app.FragmentStatePagerAdapter.finishUpdate(FragmentStatePagerAdapter.java:163)
E/AndroidRuntime:     at android.support.v4.view.ViewPager.dataSetChanged(ViewPager.java:930)
E/AndroidRuntime:     at android.support.v4.view.ViewPager$PagerObserver.onChanged(ViewPager.java:2907)
E/AndroidRuntime:     at android.database.DataSetObservable.notifyChanged(DataSetObservable.java:37)
E/AndroidRuntime:     at android.support.v4.view.PagerAdapter.notifyDataSetChanged(PagerAdapter.java:276)
E/AndroidRuntime:     at me.cullycross.example.activities.OrderActivity.onPageDataChanged(OrderActivity.java:138)
E/AndroidRuntime:     at com.tech.freak.wizardpager.model.AbstractWizardModel.onPageDataChanged(AbstractWizardModel.java:52)
E/AndroidRuntime:     at com.tech.freak.wizardpager.model.Page.notifyDataChanged(Page.java:92)
E/AndroidRuntime:     at com.tech.freak.wizardpager.ui.TextFragment$1.afterTextChanged(TextFragment.java:97)
E/AndroidRuntime:     at android.widget.TextView.sendAfterTextChanged(TextView.java:7679)
E/AndroidRuntime:     at android.widget.TextView.setText(TextView.java:4056)
E/AndroidRuntime:     at android.widget.TextView.setText(TextView.java:3905)
E/AndroidRuntime:     at android.widget.EditText.setText(EditText.java:85)
E/AndroidRuntime:     at android.widget.TextView.setText(TextView.java:3880)
E/AndroidRuntime:     at android.widget.TextView.onRestoreInstanceState(TextView.java:3780)
E/AndroidRuntime:     at android.view.View.dispatchRestoreInstanceState(View.java:13621)
E/AndroidRuntime:     at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2893)
E/AndroidRuntime:     at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2893)
E/AndroidRuntime:     at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2893)
E/AndroidRuntime:     at android.view.View.restoreHierarchyState(View.java:13599)
E/AndroidRuntime:     at android.support.v4.app.Fragment.restoreViewState(Fragment.java:468)
E/AndroidRuntime:     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1053)
E/AndroidRuntime:     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1207)
E/AndroidRuntime:     at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:738)
E/AndroidRuntime:     at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1572)
E/AndroidRuntime:     at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:545)
E/AndroidRuntime:     at android.support.v4.app.FragmentStatePagerAdapter.finishUpdate(FragmentStatePagerAdapter.java:163)
E/AndroidRuntime:     at android.support.v4.view.ViewPager.populate(ViewPager.java:1106)
E/AndroidRuntime:     at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:552)
E/AndroidRuntime:     at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:514)
E/AndroidRuntime:     at android.support.v4.view.ViewPager.dataSetChanged(ViewPager.java:946)
E/AndroidRuntime:     at android.support.v4.view.ViewPager$PagerObserver.onChanged(ViewPager.java:2907)
E/AndroidRuntime:     at android.database.DataSetObservable.notifyChanged(DataSetObservable.java:37)
E/AndroidRuntime:     at android.support.v4.view.PagerAdapter.notifyDataSetChanged(PagerAdapter.java:276)
E/AndroidRuntime:     at me.cullycross.example.activities.OrderActivity.onPageTreeChanged(OrderActivity.java:150)
E/AndroidRuntime:     at com.tech.freak.wizardpager.model.AbstractWizardModel.onPageTreeChanged(AbstractWizardModel.java:61)
E/AndroidRuntime:     at com.tech.freak.wizardpager.model.BranchPage.notifyDataChanged(BranchPage.java:98)
E/AndroidRuntime:     at com.tech.freak.wizardpager.ui.SingleChoiceFragment.onListItemClick(SingleChoiceFragment.java:122)
E/AndroidRuntime:     at android.support.v4.app.ListFragment$2.onItemClick(ListFragment.java:58)
E/AndroidRuntime:     at android.widget.AdapterView.performItemClick(AdapterView.java:300)
E/AndroidRuntime:     at android.widget.AbsListView.performItemClick(AbsListView.java:1143)
E/AndroidRuntime:     at android.widget.AbsListView$PerformClick.run(AbsListView.java:3044)
E/AndroidRuntime:     at android.widget.AbsListView$3.run(AbsListView.java:3833)
E/AndroidRuntime:     at android.os.Handler.handleCallback(Handler.java:739)
E/AndroidRuntime:     at android.os.Handler.dispatchMessage(Handler.java:95)
E/AndroidRuntime:     at android.os.Looper.loop(Looper.java:135)
E/AndroidRuntime:     at android.app.ActivityThread.main(ActivityThread.java:5221)
E/AndroidRuntime:     at java.lang.reflect.Method.invoke(Native Method)
@antonshkurenko
Copy link
Contributor Author

https://github.com/romannurik/Android-WizardPager/issues/6#issuecomment-111743170

I've found this answer. It works, but it has a bug. When user returns in to the root page and goes to the other branch textfields are filled by data from branch you were before.

@viraljetani
Copy link

Hey tony,

were you able to get a solution over this bug? I think I ran into very similar situation like yours and not able to get a solution.. Any suggestions??

@antonshkurenko
Copy link
Contributor Author

@viraljetani Try to go to the link, my situation had issue with edit text

@Dilip194
Copy link

Hi tony,
i am getting same issue in EditText, when i am trying to use isCompleted() for next button disable untill the fields not completed. I tried your link but still getting same issue. can you help me out please?
This is the code what i am using
@OverRide
public boolean isCompleted(){
return !TextUtils.isEmpty(mData.getString(SINGLE_RELIGION)) &&!TextUtils.isEmpty(mData.getString(SINGLE_CATEGORY))&&
!TextUtils.isEmpty(mData.getString(SINGLE_EDUCATION));
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants