zoukankan      html  css  js  c++  java
  • 【Android】 java.lang.IllegalStateException: Recursive entry to executePendingTransactions

    在Fragment里面添加Viewpager,Viewpager由多个Fragment组成

    "引——没有拼命的干劲,怎能有精彩的结果!"

    java.lang.IllegalStateException: Recursive entry to executePendingTransactions
    找到发送错误的地方是viewpager.setAdapter()处。

    我的应用场景是: 嵌套使用Fragment使用,最外层使用了一个第三方的库,里面使用FragmentActivity,每个Fragment中又使用ViewPager再嵌套Fragment

    解决方法:嵌套Fragment设置PageAdapter时要使用getChildFragmentManager。

    New version of Support Library v4 (or Android 4.2, ofcourse) resolve this problem much simply. For do this, simply do constructor of your custom FragmentPagerAdapter like this:

    public CustomFragmentPagerAdapter(android.support.v4.app.Fragment fragment)
    {
        super(fragment.getChildFragmentManager());
        // write your code here
    }

    This work because new Android version approve using nested Fragments

    我这里没有修改CustomFragmentPagerAdapter,而是新建CustomFragmentPagerAdapter对象时使用参数改为this.getChildFragmentManager();

    adapter = new TabPageIndicatorAdapter(this.getChildFragmentManager()); 
    
    TabPageIndicatorAdapter类内容不变:
     /**
    	 * ViewPager
    	 * @author liwenjin
    	 *
    	 */
        class TabPageIndicatorAdapter extends FragmentPagerAdapter {
           
        	public TabPageIndicatorAdapter(FragmentManager  fm) {
                super(fm);
                
            }
    
            @Override
            public Fragment getItem(int position) {
                Fragment fragment = new ItemFragment();  
                Bundle args = new Bundle();  
                args.putString("arg", TITLE[position]);  
                fragment.setArguments(args);  
                return fragment;
            }
    
            @Override
            public CharSequence getPageTitle(int position) {
                return TITLE[position % TITLE.length];
            }
    
            @Override
            public int getCount() {
                return TITLE.length;
            }
        }

    This is an article reprinted!
  • 相关阅读:
    bzoj1051(明星奶牛)
    hdu4081(秦始皇的道路系统)
    bzoj2330(差分约束)
    JPA & Hibernate 注解
    Hibernate中对象的3种状态:瞬时态、持久态、脱管态
    Spring Data JAP 多个不是必填的查询条件处理
    设计模式
    Java远程方法调用(RMI)
    Javascript注意事项四【提高循环性能的策略】
    Javascript注意事项三【使用假值】
  • 原文地址:https://www.cnblogs.com/Lt-Java13/p/4402526.html
Copyright © 2011-2022 走看看