GithubHelp home page GithubHelp logo

janthsueh / fragmentation Goto Github PK

View Code? Open in Web Editor NEW

This project forked from yokeyword/fragmentation

354.0 354.0 51.0 28.68 MB

A powerful library that manage Fragment for Android

License: Apache License 2.0

Java 100.00%

fragmentation's People

Contributors

amibition521 avatar beilo avatar cannon-lz avatar frowhy avatar janthsueh avatar kangqiao avatar liaolintao avatar lollo0520 avatar mengdd avatar niulinguo avatar pye52 avatar qiyulan avatar vankain avatar williamwue avatar yokeyword avatar zhenian avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

fragmentation's Issues

Cannot access me.yokeyword.fragmentation.SupportActivity

这是咋回事啊兄弟们

Issues Guideline

Following information can help us to resolve the issue faster.

  • Library version
  • Support-v4 version
  • Logs
  • Screenshots

In addition, we do not accept issues unrelated to Fragmentation.

使用ViewPager承载Fragment时会因offscreenPageLimit缓存设置而无法调用supportVisible函数

很高兴大佬接手这项目。
我遇到了下面的问题:

A Activity页面有ViewPager+4个fragment
B Activity页面只有一个按钮

先打开A再打开B页面,点击按钮,通过类似EventBus这一类总线告知A页面,切换Viewpager的位置,然后点击返回A页面,发现切换后新的fragment页面是没有调用到supportVisible函数的,onLazyLoad更没有。

在多此尝试后,发现这是跟fragment是否在offscreenPageLimit缓存范围内有关的,如果在缓存范围外,切换Viewpager后可以调用到supportVisible函数,在缓存范围内就不能调用到。

目前我是自己重写setUserVisibleHint等来实现切换监听的,不知道我这样使用fragmentation对不对

Cannot show Fragment attached to a different FragmentManager.

version : api 'me.xuexuan:fragmentationx:1.0.6'

log:
java.lang.IllegalStateException

Cannot show Fragment attached to a different FragmentManager. Fragment MFragment{9761232 (fd8ecaff-bafb-44d8-8431-d8f1f625a1ae) id=0x7f0901b8 com.xxx.MFragment} is already attached to a FragmentManager

1 androidx.fragment.app.BackStackRecord.show(BackStackRecord.java:210)
2 me.yokeyword.fragmentation.TransactionDelegate.doShowHideFragment(TransactionDelegate.java:453)
3 me.yokeyword.fragmentation.TransactionDelegate.access$500(TransactionDelegate.java:32)
4 me.yokeyword.fragmentation.TransactionDelegate$5.run(TransactionDelegate.java:144)
5 me.yokeyword.fragmentation.queue.ActionQueue.handleAction(ActionQueue.java:53)
6 me.yokeyword.fragmentation.queue.ActionQueue.enqueueAction(ActionQueue.java:45)
7 me.yokeyword.fragmentation.queue.ActionQueue.access$000(ActionQueue.java:17)
8 me.yokeyword.fragmentation.queue.ActionQueue$1.run(ActionQueue.java:37)
9 android.os.Handler.handleCallback(Handler.java:900)
10 android.os.Handler.dispatchMessage(Handler.java:103)
11 android.os.Looper.loop(Looper.java:219)
12 android.app.ActivityThread.main(ActivityThread.java:8349)
13 java.lang.reflect.Method.invoke(Native Method)
14 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)
15 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1055)

invisibleFtagment

Issues Guideline

Following information can help us to resolve the issue faster.

  • Library version
  • Support-v4 version
  • Logs
  • Screenshots

In addition, we do not accept issues unrelated to Fragmentation.

大佬有考虑兼容下ViewPager的setMaxLifecycle吗

我看到Fragmentation中是通过getUserVisibleHint判断是否可见的,但是ViewPager1最新版和ViewPager2是通过setMaxLifecycle控制fragment可见性的。
目前我测试了下,ViewPager2中放置了Fragment,一打开会把ViewPager上所有的supportVisible()都调用了,而不是滑倒那一页才调用。旧版的ViewPager使用getUserVisibleHint判断方式,则不会有这个问题,滑动到那一页才会调用其supportVisible()
不知道有没有大佬有没有高招兼容下。

侧滑返回异常

在demo的wechat模块中,连续启动多个CyclerFragment后,然后侧滑返回,会直接回到初始的fragment,而不是一级一级逐步返回

关于onbackpressed的处理

建议使用OnBackPressedDispatcher实现该功能。startXXforResult建议使用registerForActivityResult。都是androidX提供的。

关于pop有一些不理解

Issues Guideline

Following information can help us to resolve the issue faster.

  • Library version
  • Support-v4 version
  • Logs
  • Screenshots

想问下为什么 pop函数里面(包括popTo)都有一个先remove再 popBackStack的逻辑,这里只做popBackStack 应该就有remove的效果,一直没看明白是为什么,求大佬解惑
In addition, we do not accept issues unrelated to Fragmentation.

关于showHideFragment(ISupportFragment showFragment)的用法

作者大大以及各位小伙伴,我的项目中,首页底部用了Tab,用loadMultipleRootFragment加载多个同级根Fragment。
其中一个Fragment是购物车,当用户没有登录的时候,我点击这个购物车的tab,需要先跳到登录页,登录完成后再进入这个购物车的Fragment。
AccountHelper.getInstance().doLoginIfNeed(MainFragment.this, new AccountHelper.OnLoginHandler() {
@OverRide
public void next(SupportFragment currentFragment) {
showHideFragment(mFragments.get(position));
}
});
但是登录完成,登录页finish掉,执行 showHideFragment(mFragments.get(position));进入购物车fragment的时候,页面卡主了,打印发现购物车fragment的onSupportVisible()这个方法没有执行。
请问这个问题咋解决呢,有遇到的小伙伴看到了也麻烦告诉我一下,非常感谢。

大佬,能否加一个手势滑动关闭的灵敏度设置接口呢?

是这样的,我想实现全屏能滑动关闭页面,然后设置了setEdgeLevel(SwipeBackLayout.EdgeLevel.MAX);
(ps:原作者好像说不推荐设置MAX,但是今日头条,YouTube这些都是全屏可以关闭的)

这样生效了,但是也产生了新的问题:就是我左手大拇指下滑时,总是被误判为开始拖动关闭;右手大拇指上滑时,也会被误判为拖动关闭。

找了很久,我也始终没有找到设置灵敏度的接口,所以希望看能不能加一个这样的接口呢?

android.view.View cannot be cast to android.view.ViewGroup

java.lang.ClassCastException: android.view.View cannot be cast to android.view.ViewGroup

线上报的错,问题应该是出在这一段代码里。然后出问题的Activity是一个简单的页面,没有额外添加View。设备也很统一,90%都是三星的手机
image

  • Library version
    "fragmentationx" : 'me.yokeyword:fragmentationx:1.0.2',
    "fragmentationx-swipeback" : 'me.yokeyword:fragmentationx-swipeback:1.0.2',

  • Support-v4 version

  • Logs

11-27 16:40:10.115 15671 15671 E AndroidRuntime: java.lang.ClassCastException: android.view.View cannot be cast to android.view.ViewGroup -- 9811-27 16:40:10.115 15671 15671 E AndroidRuntime: at me.yokeyword.fragmentation.SwipeBackLayout.a(SwipeBackLayout.java:20) 9911-27 16:40:10.115 15671 15671 E AndroidRuntime: at me.yokeyword.fragmentation_swipeback.c.c.b(SwipeBackActivityDelegate.java:1) 10011-27 16:40:10.115 15671 15671 E AndroidRuntime: at me.yokeyword.fragmentation_swipeback.SwipeBackActivity.onPostCreate(SwipeBackActivity.java:2) 10111-27 16:40:10.115 15671 15671 E AndroidRuntime: at android.app.Instrumentation.callActivityOnPostCreate(Instrumentation.java:1542) 10211-27 16:40:10.115 15671 15671 E AndroidRuntime: at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3976) 10311-27 16:40:10.115 15671 15671 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221) 10411-27 16:40:10.115 15671 15671 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201) 10511-27 16:40:10.115 15671 15671 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173) 10611-27 16:40:10.115 15671 15671 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97) 10711-27 16:40:10.115 15671 15671 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2472) 10811-27 16:40:10.115 15671 15671 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:106) 10911-27 16:40:10.115 15671 15671 E AndroidRuntime: at android.os.Looper.loopOnce(Looper.java:234) 11011-27 16:40:10.115 15671 15671 E AndroidRuntime: at android.os.Looper.loop(Looper.java:346) 11111-27 16:40:10.115 15671 15671 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:8872) 11211-27 16:40:10.115 15671 15671 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method) 11311-27 16:40:10.115 15671 15671 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) 11411-27 16:40:10.115 15671 15671 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:942)
  • Screenshots

In addition, we do not accept issues unrelated to Fragmentation.

使用androidx 会报错 v7无问题

    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.mall/com.example.mall.MainActivity}: java.lang.ClassCastException: com.example.mall.MainActivity cannot be cast to me.yokeyword.fragmentation.SupportActivity

**In addition, we do not accept issues unrelated to Fragmentation.**

内存泄漏问题

当嵌套层级深时,出现AccessibilityManager或者InputMethodManager报内存泄漏,希望能解决这个问题

NullPointerException when safePopTo

java.lang.NullPointerException:
at android.view.ViewGroup.removeViewInternal (ViewGroup.java:5300)
at android.view.ViewGroup.removeViewAt (ViewGroup.java:5263)
at androidx.fragment.app.FragmentManager.moveFragmentToExpectedState (FragmentManager.java:1446)
at androidx.fragment.app.FragmentManager.moveToState (FragmentManager.java:1497)
at androidx.fragment.app.BackStackRecord.executeOps (BackStackRecord.java:447)
at androidx.fragment.app.FragmentManager.executeOps (FragmentManager.java:2169)
at androidx.fragment.app.FragmentManager.executeOpsTogether (FragmentManager.java:1992)
at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute (FragmentManager.java:1947)
at androidx.fragment.app.FragmentManager.execPendingActions (FragmentManager.java:1849)
at androidx.fragment.app.FragmentManager.popBackStackImmediate (FragmentManager.java:641)
at androidx.fragment.app.FragmentManager.popBackStackImmediate (FragmentManager.java:596)
at me.yokeyword.fragmentation.TransactionDelegate.safePopTo (TransactionDelegate.java:503)
at me.yokeyword.fragmentation.TransactionDelegate.access$800 (TransactionDelegate.java:34)
at me.yokeyword.fragmentation.TransactionDelegate$5.run (TransactionDelegate.java:232)
at me.yokeyword.fragmentation.queue.ActionQueue.handleAction (ActionQueue.java:58)
at me.yokeyword.fragmentation.queue.ActionQueue.enqueueAction (ActionQueue.java:46)
at me.yokeyword.fragmentation.queue.ActionQueue.access$000 (ActionQueue.java:17)
at me.yokeyword.fragmentation.queue.ActionQueue$1.run (ActionQueue.java:37)
at android.os.Handler.handleCallback (Handler.java:790)
at android.os.Handler.dispatchMessage (Handler.java:99)
at android.os.Looper.loop (Looper.java:164)
at android.app.ActivityThread.main (ActivityThread.java:6548)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:857)

关于showHideFragment(ISupportFragment showFragment)的使用

作者大大以及各位小伙伴,我的项目中,首页底部用了Tab,用loadMultipleRootFragment加载多个同级根Fragment。
其中一个Fragment是购物车,当用户没有登录的时候,我点击这个购物车的tab,需要先跳到登录页,登录完成后再进入这个购物车的Fragment。
AccountHelper.getInstance().doLoginIfNeed(MainFragment.this, new AccountHelper.OnLoginHandler() {
@OverRide
public void next(SupportFragment currentFragment) {
showHideFragment(mFragments.get(position));
}
});
但是登录完成,登录页finish掉,执行 showHideFragment(mFragments.get(position));进入购物车fragment的时候,页面卡主了,打印发现onSupportVisible这个方法没有执行。
请问这个问题咋解决呢,有遇到的小伙伴看到了也麻烦告诉我一下,非常感谢。

enqueueDispatchVisible方法里的queueIdle回调不走

我看了一下原作者的代码

private void enqueueDispatchVisible() {
        taskDispatchSupportVisible = new Runnable() {
            @Override
            public void run() {
                taskDispatchSupportVisible = null;
                dispatchSupportVisible(true);
            }
        };
        getHandler().post(taskDispatchSupportVisible);
    }

这里是直接post了一条任务
你的这个方法是这样的

private void enqueueDispatchVisible() {

       mIdleDispatchSupportVisible = new MessageQueue.IdleHandler() {
           @Override
           public boolean queueIdle() {
               dispatchSupportVisible(true);
               mIdleDispatchSupportVisible = null;
               return false;
           }
       };
    Looper.myQueue().addIdleHandler(mIdleDispatchSupportVisible);

}

是用空闲任务去调用dispatchSupportVisible,但是有时候不走回调导致我的fragment生命周期的onSupportVisible不执行,请问我要怎么处理

调用popTo方法后发生崩溃

  • Library version 1.0.6
  • androidx.fragment:fragment:1.2.5
  • code
    Activity.popTo(H5Fragment.class, true, null, 0);
  • Logs
    java.lang.IllegalStateException: Views added to a FragmentContainerView must be associated with a Fragment. View me.yokeyword.fragmentation.TransactionDelegate$16{78ce990 V.E...... ......I. 0,0-0,0} is not associated with a Fragment.
    at androidx.fragment.app.FragmentContainerView.addView(FragmentContainerView.java:276)
    at android.view.ViewGroup.addView(ViewGroup.java:4899)
    at android.view.ViewGroup.addView(ViewGroup.java:4872)
    at me.yokeyword.fragmentation.TransactionDelegate.addMockView(TransactionDelegate.java:554)
    at me.yokeyword.fragmentation.TransactionDelegate.mockPopToAnim(TransactionDelegate.java:454)
    at me.yokeyword.fragmentation.TransactionDelegate.doPopTo(TransactionDelegate.java:434)
    at me.yokeyword.fragmentation.TransactionDelegate.access$1100(TransactionDelegate.java:34)
    at me.yokeyword.fragmentation.TransactionDelegate$10.run(TransactionDelegate.java:329)
    at me.yokeyword.fragmentation.queue.ActionQueue.handleAction(ActionQueue.java:58)
    at me.yokeyword.fragmentation.queue.ActionQueue.enqueueAction(ActionQueue.java:46)
    at me.yokeyword.fragmentation.queue.ActionQueue.access$000(ActionQueue.java:17)
    at me.yokeyword.fragmentation.queue.ActionQueue$1.run(ActionQueue.java:37)
    at android.os.Handler.handleCallback(Handler.java:883)
    at android.os.Handler.dispatchMessage(Handler.java:100)
    at android.os.Looper.loop(Looper.java:224)
    at android.app.ActivityThread.main(ActivityThread.java:7520)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)

使用androidx 大量报java.lang.IllegalAccessError 错误

java.lang.IllegalAccessError

Field 'androidx.fragment.app.FragmentManager.mStateSaved' is inaccessible to class 'androidx.fragment.app.FragmentationMagician'

1 androidx.fragment.app.FragmentationMagician.void hookStateSaved(androidx.fragment.app.FragmentManager,java.lang.Runnable)(FragmentationMagician.java:4)

2 androidx.fragment.app.FragmentationMagician.void popBackStackAllowingStateLoss(androidx.fragment.app.FragmentManager,java.lang.String,int)(FragmentationMagician.java:2)
3 me.yokeyword.fragmentation.TransactionDelegate.void safePopTo(java.lang.String,androidx.fragment.app.FragmentManager,int,java.util.List)(TransactionDelegate.java:98)
4 me.yokeyword.fragmentation.TransactionDelegate.void mockPopToAnim(androidx.fragment.app.Fragment,java.lang.String,androidx.fragment.app.FragmentManager,int,java.util.List,int)(TransactionDelegate.java:108)
5 me.yokeyword.fragmentation.TransactionDelegate.void doPopTo(java.lang.String,boolean,androidx.fragment.app.FragmentManager,int)(TransactionDelegate.java:91)
6 me.yokeyword.fragmentation.TransactionDelegate.void access$1200(me.yokeyword.fragmentation.TransactionDelegate,java.lang.String,boolean,androidx.fragment.app.FragmentManager,int)(TransactionDelegate.java:5)
7 me.yokeyword.fragmentation.TransactionDelegate$11.void run()(TransactionDelegate.java:1)
8 me.yokeyword.fragmentation.queue.ActionQueue.void handleAction()(ActionQueue.java:10)
9 me.yokeyword.fragmentation.queue.ActionQueue.void access$200(me.yokeyword.fragmentation.queue.ActionQueue)(ActionQueue.java:1)
10 me.yokeyword.fragmentation.queue.ActionQueue$2.void run()(ActionQueue.java:2)
11 android.os.Handler.handleCallback(Handler.java:739)
12 android.os.Handler.dispatchMessage(Handler.java:95)
13 android.os.Looper.loop(Looper.java:148)
14 android.app.ActivityThread.main(ActivityThread.java:5619)
15 java.lang.reflect.Method.invoke(Native Method)

发现偶现crash

java.lang.NullPointerException: Attempt to invoke virtual method 'int me.yokeyword.fragmentation.anim.FragmentAnimator.getEnter()' on a null object reference

感谢作者维护 希望作者继续坚持

Issues Guideline

Following information can help us to resolve the issue faster.

  • Library version
  • Support-v4 version
  • Logs
  • Screenshots

In addition, we do not accept issues unrelated to Fragmentation.

appCompatVersion = "1.6.1" popTo 闪退

appCompatVersion = "1.6.1" popTo 闪退

Process: me.xuexuan.fragmentation, PID: 4763
java.lang.IllegalStateException: Fragment LoginFragment{85d6ad} (9084c050-559f-46f8-86c7-bf46f7ff1022) has not been attached yet.
at androidx.fragment.app.Fragment.getChildFragmentManager(Fragment.java:1075)
at me.yokeyword.fragmentation.helper.internal.VisibleDelegate.dispatchChildOnFragmentShownWhenNotResumed(VisibleDelegate.java:139)
at me.yokeyword.fragmentation.helper.internal.VisibleDelegate.onFragmentShownWhenNotResumed(VisibleDelegate.java:135)
at me.yokeyword.fragmentation.helper.internal.VisibleDelegate.onHiddenChanged(VisibleDelegate.java:119)
at me.yokeyword.fragmentation.SupportFragmentDelegate.onHiddenChanged(SupportFragmentDelegate.java:236)
at me.yokeyword.sample.demo_flow.base.MySupportFragment.onHiddenChanged(MySupportFragment.java:98)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:374)
at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2180)
at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2100)
at androidx.fragment.app.FragmentManager.popBackStackImmediate(FragmentManager.java:781)
at androidx.fragment.app.FragmentManager.popBackStackImmediate(FragmentManager.java:719)
at me.yokeyword.fragmentation.TransactionDelegate.safePopTo(TransactionDelegate.java:503)
at me.yokeyword.fragmentation.TransactionDelegate.mockPopToAnim(TransactionDelegate.java:456)
at me.yokeyword.fragmentation.TransactionDelegate.doPopTo(TransactionDelegate.java:434)
at me.yokeyword.fragmentation.TransactionDelegate.access$1100(TransactionDelegate.java:34)
at me.yokeyword.fragmentation.TransactionDelegate$10.run(TransactionDelegate.java:329)
at me.yokeyword.fragmentation.queue.ActionQueue.handleAction(ActionQueue.java:58)
at me.yokeyword.fragmentation.queue.ActionQueue.enqueueAction(ActionQueue.java:46)
at me.yokeyword.fragmentation.queue.ActionQueue.access$000(ActionQueue.java:17)
at me.yokeyword.fragmentation.queue.ActionQueue$1.run(ActionQueue.java:37)
at android.os.Handler.handleCallback(Handler.java:942)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.app.ActivityThread.main(ActivityThread.java:7959)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:942)

使用 appCompatVersion = "1.1.0" 正常。

loadRootFragment时fragment没有显示出来

大佬,这种问题请您能不能告诉下怎么定位?
我是修改的以前同事的项目,他用的YoKeyword的fragment开源库,fragment的adapter是在线资源,我换了在线资源,fragment就显示不出来,fragment的onSupportVisible有被回调。

replaceFragment方法崩溃

Issues Guideline

Following information can help us to resolve the issue faster.

  • Library version 1.0.6
  • Support-v4 version
  • Logs
  • Screenshots

In addition, we do not accept issues unrelated to Fragmentation.

使用replaceFragment方法,多次快速切换的时候报错,如下:
java.lang.IllegalStateException: Fragment no longer exists for key f0: unique id 7ff9f5f2-0a41-4fc4-a9d5-1519e3c56f6d
at androidx.fragment.app.FragmentManagerImpl.getFragment(FragmentManagerImpl.java:365)
at androidx.fragment.app.FragmentStatePagerAdapter.restoreState(FragmentStatePagerAdapter.java:309)
at androidx.viewpager.widget.ViewPager.onRestoreInstanceState(ViewPager.java:1461)
at android.view.View.dispatchRestoreInstanceState(View.java:15805)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:3274)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:3282)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:3282)
at android.view.View.restoreHierarchyState(View.java:15783)
at androidx.fragment.app.Fragment.restoreViewState(Fragment.java:548)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:907)
at androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManagerImpl.java:1238)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:1303)
at androidx.fragment.app.BackStackRecord.executeOps(BackStackRecord.java:439)
at androidx.fragment.app.FragmentManagerImpl.executeOps(FragmentManagerImpl.java:2079)
at androidx.fragment.app.FragmentManagerImpl.executeOpsTogether(FragmentManagerImpl.java:1869)
at androidx.fragment.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManagerImpl.java:1824)
at androidx.fragment.app.FragmentManagerImpl.execPendingActions(FragmentManagerImpl.java:1727)
at androidx.fragment.app.FragmentManagerImpl$2.run(FragmentManagerImpl.java:150)
at android.os.Handler.handleCallback(Handler.java:761)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:156)
at android.app.ActivityThread.main(ActivityThread.java:6623)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:942)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:832)

compilesdk升级到29

解决sdk升级29的问题.

  • Library version :29

**我用这个库半年了,看到作者停止维护,就想拉下来,自己维护,在原作者issues中看到你在接任维护,我想把sdk升级到29,发现报错了,FragmentManagerImpl这个类非public,原作者写的FragmentationMagician无法访问FragmentManagerImpl,于是乎去找答案,没找到,自己折腾了一上午,终于搞定了,就是把AndroidX中FragmentManagerImpl源代码完全复制一份,新建一个一模一样的包名,效果如下图所示.最后能正常跑起来,暂时没发现什么bug..大佬既然有心维护,能不能建个群一起交流讨论,这个库真心挺好用的. 上个issure中的setMaxLifeCycle,是新api,getUserVisibleHint确实已经废弃了,那么FragmentManagerImpl可以自己复制,是不是可以想想办法,应用到setMaxLifeCycle呢?
未命名1589263307
**

AnimatorHelper.java line 63

Caused by java.lang.NullPointerException
Attempt to invoke virtual method 'int me.yokeyword.fragmentation.anim.FragmentAnimator.getEnter()' on a null object reference me.yokeyword.fragmentation.helper.internal.AnimatorHelper.initEnterAnim

me.yokeyword.fragmentation.helper.internal.AnimatorHelper.initEnterAnim (AnimatorHelper.java:63)
me.yokeyword.fragmentation.helper.internal.AnimatorHelper.notifyChanged (AnimatorHelper.java:29)
me.yokeyword.fragmentation.helper.internal.AnimatorHelper. (AnimatorHelper.java:24)
me.yokeyword.fragmentation.SupportFragmentDelegate.onCreate (SupportFragmentDelegate.java:119)
me.yokeyword.fragmentation.SupportFragment.onCreate (SupportFragment.java:49)

onLazyInitview onSupportView not call

I have no problem with the demo project. It just happened on my project.
The backstack has many stacks.

I don't understand why you use Looper.myQueue().addIdleHandler instead of getHandler().post
I have tried to keep your version 1.0.6, only using getHandler ().post
--> This issue is resolved

Originally posted by @HuuNguyen312 in #11 (comment)

妈的日了狗

public boolean isSupportVisible() {
return mCurrentVisible;
}

调了半天才发现这个方法一直返回的是错误的值,fuck,support版本都是正常的,--

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.