让我在这篇文章的序言中说,我已经对这个问题进行了大量搜索,但没有找到针对我的问题的答案。关于这个的其他问题涉及 Fragments inside Fragments,但对我来说不是这样。
我的设置非常简单。 Activity
托管一个 ViewPager
,它使用一个 FragmentPagerAdapter
和许多相同类型的 fragment 。
这个崩溃似乎是 Android 5.1.1 独有的。
我正在使用 fragment 的支持库并调用 getSupportFragmentManager()
以与适配器一起使用。 fragment 在 RecyclerView
中显示一些 View 。
对于那些感兴趣的人来说,这是完整的崩溃日志:
java.lang.RuntimeException: Unable to destroy activity {workout.progression.lite/workout.progression.lite.ui.PerformanceTargetActivity}:
java.lang.IllegalStateException: Recursive entry to executePendingTransactions
at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:4852)
at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:4870)
at android.app.ActivityThread.access$1600(ActivityThread.java:197)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1735)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(Activity)
我在 onPause
中不执行任何操作,除了注销 Bus
(Otto)。
@Override
protected void onPause() {
BusProvider.getInstance().unregister(this);
super.onPause();
}
最佳答案
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// use below code will like U
// if(info.constellation.trim().equals("")) {
// tv_age.setText(info.age);
// } else {
// tv_age.setText(info.age + " " + info.constellation);
// }
// should be like this, no if()...else
tv_age.setText(info.age + " " + info.constellation);
}
关于android - executePendingTransactions 的递归入口( fragment 内没有 fragment ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33346469/