国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

FragmentStack的使用心得一

2019-11-08 00:36:31
字體:
來源:轉載
供稿:網友
    首先很感謝大神提供的FragmentStack輕量級框架,它給我解決了很大的難題。在這里萬分感謝創作者!!!    它的好我也就不多說了,有需要的朋友也可以去試一下,在這里我說一下我在使用的過程中遇到的一個很坑的問題,不知道現在的版本解決沒有,在這里寫出來只是讓那些和我使用同一個版本的童鞋少走一些彎路。    下面就是我的情況:當我在執行完一個流程后,返回到首頁在執行另一個業務流程,這時候前一個流程的fragment是沒有被銷毀的,導致我在用EventBus的時候卻激活了前一個流程的某一個步奏,導致混亂了。原因是:在調用StackManager的closeAllFragment方法:  public void closeAllFragment() {        int backStackCount = context.getSupportFragmentManager().getBackStackEntryCount();        for (int i = 0; i < backStackCount; i++) {            int backStackId = context.getSupportFragmentManager().getBackStackEntryAt(i).getId();            context.getSupportFragmentManager().popBackStack(backStackId, FragmentManager.POP_BACK_STACK_INCLUSIVE);        }    }    context.getSupportFragmentManager().getBackStackEntryCount();這個是在統計回退棧里面有多少個fragment,返回永遠是0,for循環根本不會進去。我就一直納悶了,這個問題困擾了很久,直到今天在網上終于找到答案了(https://zhidao.baidu.com/question/520031296249698085.html),在加載fragment的時候沒有addToBackStack(null)導致getBackStackEntryCount()永遠是0,這樣問題就解決了。。。    還沒有完,還需要把 closeAllFragment()這個方法重新改一下,改成下面的:public void closeAllFragment() {        int backStackCount = context.getSupportFragmentManager().getBackStackEntryCount();        for (int i = 0; i < backStackCount; i++) {            try {                context.getSupportFragmentManager().popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);                context.getSupportFragmentManager().executePendingTransactions();            } catch (Exception e) {                e.PRintStackTrace();            }        }    }這下我的問題就真的大致解決了,executePendingTransactions()是立即執行的意思,當然我現在也只是解決了我的燃眉之急,具體的深入還需后續繼續努力,上面的也是我東拼西湊得來的,如有不對的地方還請指出!!!一起進步!!!
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 正镶白旗| 平潭县| 闻喜县| 玉田县| 江永县| 正宁县| 大英县| 太白县| 南昌县| 乌鲁木齐市| 田阳县| 灵山县| 贵港市| 屏边| 高雄县| 正宁县| 绥芬河市| 阳城县| 田林县| 景泰县| 临夏市| 唐海县| 陵川县| 建昌县| 巨野县| 应城市| 大荔县| 永登县| 南木林县| 固安县| 鸡泽县| 涞源县| 高雄县| 惠东县| 长海县| 夹江县| 平度市| 宣恩县| 桐梓县| 咸阳市| 安福县|