java.lang.IllegalStateException: Recursive entry to executePendingTransactions
来源:互联网 发布:常用的下载软件的端口 编辑:程序博客网 时间:2024/05/03 10:45
在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; } }
在查找资料是看到网上,这里先记下解决方案:
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
adapter = new MainFragmentPagerAdapter(getFragmentManager(), fragments);
viewPager.setAdapter(adapter);
switchPager(0);
}
}, 100);
0 0
- java.lang.IllegalStateException: Recursive entry to executePendingTransactions
- java.lang.IllegalStateException: Recursive entry to executePendingTransactions
- java.lang.IllegalStateException: Recursive entry to executePendingTransactions
- Java.lang.IllegalStateException: Recursive entry to executePendingTransactions
- 【Android】java.lang.IllegalStateException: Recursive entry to executePendingTransactions
- 【Android】java.lang.IllegalStateException: Recursive entry to executePendingTransactions
- E/AndroidRuntime: java.lang.IllegalStateException: Recursive entry to executePendingTransactions
- 错误记录java.lang.IllegalStateException: Recursive entry to executePendingTransactions
- Fragment报java.lang.IllegalStateException: Recursive entry to executePendingTransactions 。
- IllegalStateException: Recursive entry to executePendingTransactions
- java.lang.IllegalStateException: Recursive entry to executePendingTransactio
- Recursive entry to executePendingTransactions
- Recursive entry to executePendingTransactions
- Recursive entry to executePendingTransactions
- Recursive entry to executePendingTransactions
- java.lang.IllegalStateException: Recursive entry to executePendingTransactio的解决方法
- viewpager recursive entry to executependingtransactions
- 错误:ViewPager: Recursive entry to executePendingTransactions 解决方案
- 【PAT 1072】 Gas Station 最短路径Dijsktra
- cmd常用运行指令
- ThinkPHP的连贯操作
- Ubuntu12.04(64位)下搭建DirectFB PC模拟运行环境
- SQL数据库备份的方法,SQL Server备份图文教程
- java.lang.IllegalStateException: Recursive entry to executePendingTransactions
- 求N!
- 在控制台程序中播放音乐
- PHP 时间戳及时间函数
- mysql数据库约束分类
- VS2005,VS2008,VS2010工程文件和解决方案的区别
- 构建海量数据平台-云梯生态系统
- Hibernate -- 入门示例
- linux下zip命令实用