Fragment嵌套ViewPager+Fragment使用FragmentStatePagerAdapter报错,哪位大神帮我解决这个问题

嵌套fragment使用ViewPager2在activity异常退出后重新创建报错解决 这次是一个连环踩坑,兜兜转转终于结束,主要就是Fragment no longer exists for key f#0: unique id恼人。 阅读详情

Fragment嵌套使用时的bug

情景:

外层使用了Fragment,在Fragment内部使用了ViewPager,ViewPager内部的每一个页面又绑定了一个Fragment

问题:内部Fragment不显示内容

new FragmentPagerAdapter()时当传入getFragmentManager()时,会出现一个问题,第一次进入这个Fragment随便切换Tab没问题,但是切换到外层的另外一个Fragment再次切换回来的时候,此时的Fragment内部viewpager下面的Fragment不显示内容了

FragmentPagerAdapter adapter = new FragmentPagerAdapter(getFragmentManager()) {
    @Override
    public Fragment getItem(int position) {
        return framents.get(position);
    }

    @Override
    public int getCount() {
        return framents.size();
    }

    @Override
    public CharSequence getPageTitle(int position) {
        return titles.get(position);
    }
};
解决方法:使用getChildFragmentManager()

new FragmentPagerAdapter()时当传入getChildFragmentManager(),即可解决上述问题(FragmentPagerAdapter要在方法内部去实例化,不要再成员变量的位置去实例化,会报错no host)

FragmentPagerAdapter adapter = new FragmentPagerAdapter(getChildFragmentManager()) {
    @Override
    public Fragment getItem(int position) {
        return framents.get(position);
    }

    @Override
    public int getCount() {
        return framents.size();
    }

    @Override
    public CharSequence getPageTitle(int position) {
        return titles.get(position);
    }
};

追加问题:

在每个Fragment内部显示的内容较多的情况下,google建议使用FragmentStatePagerAdapter而不是FragmentPagerAdapter,但是当new FragmentStatePagerAdapter(getChildFragmentManager())时,会报错(第一次进入时是正常的,但是外层Fragment切换后在进入此Fragment就会报以下的错),这是为什么呢?

FragmentStatePagerAdapter adapter = new FragmentStatePagerAdapter(getChildFragmentManager()) {
    @Override
    public Fragment getItem(int position) {
        return framents.get(position);
    }

    @Override
    public int getCount() {
        return framents.size();
    }

    @Override
    public CharSequence getPageTitle(int position) {
        return titles.get(position);
    }
};

 FATAL EXCEPTION: main
   Process: com.home.family, PID: 3520
   java.lang.NullPointerException: Attempt to invoke virtual method 'int java.util.ArrayList.size()' on a null object reference
       at android.support.v4.app.FragmentManagerImpl.getFragment(FragmentManager.java:667)
       at android.support.v4.app.FragmentStatePagerAdapter.restoreState(FragmentStatePagerAdapter.java:211)
       at android.support.v4.view.ViewPager.onRestoreInstanceState(ViewPager.java:1319)
       at android.view.View.dispatchRestoreInstanceState(View.java:13795)
       at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:3016)
       at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:3022)
       at android.view.View.restoreHierarchyState(View.java:13773)
       at android.support.v4.app.Fragment.restoreViewState(Fragment.java:468)
       at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1094)
       at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1248)
       at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:738)
       at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1613)
       at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:517)
       at android.os.Handler.handleCallback(Handler.java:815)
       at android.os.Handler.dispatchMessage(Handler.java:104)
       at android.os.Looper.loop(Looper.java:194)
       at android.app.ActivityThread.main(ActivityThread.java:5557)
       at java.lang.reflect.Method.invoke(Native Method)
       at java.lang.reflect.Method.invoke(Method.java:372)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:966)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:761)
Android ViewPager+Fragment嵌套 报错的问题 首先  把错误贴一下: 为了清楚点,报错截图没有调整大小。 再贴一下我要实现的效果: 具体要实现的功能就是类似驾考宝典一类application答题的功能,因为自身技术不足,所以功能的实现参考http://www.jb51.net/article/81366.htm,只要fragment数据部分修改一下就可以使用了,但需要注意的是(也是引发开头报错的原因之一)设置适配 阅读详情

相关推荐

Android TabLayout+ViewPager黄金组合实战指南

TabLayout和ViewPager是Android原生分页导航的核心组件,基于PagerAdapter实现Fragment页面容器与顶部标签栏的双向协同。其原理在于TabLayout负责UI渲染与用户交互,ViewPager承担页面调度与生命周期管理,二者通过setupWithViewPager建立松耦合绑定。该方案具备零第三方依赖、全版本兼容、调试友好等技术价值,广泛应用于电商详情页、教育App模块切换、政务平台多栏目等场景。相比ViewPager2需自行实现Tab逻辑,或BottomNavigati

dianjiaxian1205的博客 338

一直以来使用ViewPager和FragmentPagerAdapter或FragmentStatePagerAdapter管理Fragment的错误

viewpager2并没有这个问题。 一直以来我在用viewpager和FragmentPagerAdapter或FragmentStatePagerAdapter管理fragment的时候总是和下面的代码类似,但是下面的代码在某些情况下会出现问题 接下来我们慢慢分析: public class MainActivity extends FragmentActivity { private ViewPager m_vp; private ArrayList<Fragment&g

Allence的博客 4356

STM32移植FreeRTOS实战指南:从原理到避坑,构建多任务系统

实时操作系统(RTOS)是嵌入式开发中实现多任务并发、提升系统可靠性的核心技术。其核心原理是通过任务调度器管理多个独立任务,公平分配CPU时间,并利用信号量、队列等机制实现任务间同步通信。在资源受限的微控制器(如STM32)上,FreeRTOS以其开源、轻量、可裁剪的特性,成为从裸机程序迈向复杂系统设计的首选。掌握FreeRTOS移植,不仅能解决裸机编程中状态机臃肿、中断管理复杂等工程难题,更是开发智能家居、工业控制等实时性要求高的嵌入式应用的基石。本文聚焦STM32F103平台,详解FreeRTOS移植过

weixin_30897079的博客 373

Android 在 Fragment 嵌套 ViewPager 显示空白的解决办法

症状 我写了一个 Activity,使用 Fragment 来显示不同的页面(显示哪个页面的时候直接 replace 即可),某个页面的 Fragment 下又通过 ViewPager 嵌套了多个 Fragment。 页面的结构大体如下: Fragment ViewPager Fragments… 问题来了,第一次进入这个页面的时候没有问题。第二次进入的时候发现这个...

许进进的博客 6446

AI对嵌入式的冲击分三波,大多数人只看到了第一波

摘要:AI对嵌入式行业的冲击将分三波递进:第一波(已发生)是代码生成,AI能完成底层驱动配置;第二波(1-2年内)是架构设计,AI将参与系统方案制定;第三波(2-3年)是需求验证,AI能穷举测试用例但无法替代安全决策。每波冲击都将重新定义工程师的价值标准,经验型工程师若不能将隐性知识转化为显性规则将面临淘汰。作者指出,完全不用AI的人第一波就会被淘汰,而仅满足于第一波应用的人将在后续冲击中落后。

u010898524的博客 960

手把手用ROS实现Ego-Planner动态避障:无人机撞树问题终结方案

本文详细介绍了如何在ROS和Gazebo仿真环境中,通过配置和调优Ego-Planner算法,实现无人机的动态避障功能。文章深入解析了其基于局部梯度优化的核心思想,提供了从环境搭建、参数详解到代码集成的完整实践指南,并分享了实战排错经验,旨在彻底解决无人机在复杂动态场景中的碰撞问题。

weixin_29031161的博客 1625

[Android]ViewPager+Fragment重建泄漏问题解决

我是苍王,以下是我这个系列的相关文章,有兴趣可以参考一下,可以给个喜欢或者关注我的文章。 [Android]如何做一个崩溃率少于千分之三噶应用app--章节列表 近来遇到一个比较奇怪的Fragment问题 app很多时候会使用Viewpager+Fragments的方式显示布局,特别是在主页。 如果app在栈内已经打开了几个Activity了,突然之间发生崩溃,一般情况下崩溃被捕抓后,会重新恢复...

weixin_34150224的博客 1696

ThunderScope开源示波器

4CH,1GSa/S 开源示波器。前端很简洁,BUF802+LMH6518,ADC是HMCAD1511,用Xilinx A7 FPGA进行控制,数据通过PCIE总线传输到上位机处理。目前这个项目已经被挂到了Xilinx官网,强。设计日志:https://hackaday.io/project/180090-thunderscope开源地址:https://github.com/EEVengers/ThunderScope。

leida_wt的博客 8186

Fragment 嵌套 Tablayout+ViewPager+fragment 遇到的问题

Fragment各种空白的问题,这个让我头疼了两天得问题终于找到了解决得办法,主要就是处理ViewPager的Adapter; 1.如果是少量的固定的Tab和Fragment,那么正常处理就行; Adapter代码如下: public class Find_tab_Adapter extends FragmentPagerAdapter { private L

流年似水何不珍惜 3208

1006. 换个格式输出整数 (15)-PAT乙级真题

1006. 换个格式输出整数 (15)让我们用字母B来表示“百”、字母S表示“十”,用“12…n”来表示个位数字n(&lt;10),换个格式来输出任一个不超过3位的正整数。例如234应该被输出为BBSSS1234,因为它有2个“百”、3个“十”、以及个位的4。输入格式:每个测试输入包含1个测试用例,给出正整数n(&lt;1000)。输出格式:每个测试用例的输出占一行,用规定的格式输出n。输入样例1...

柳婼 の blog 2242

MATLAB 2022b 用户专属:保姆级IPOPT求解器安装配置全流程(含OPTI工具箱)

本文为MATLAB 2022b用户提供IPOPT求解器的详细安装与配置指南,涵盖OPTI工具箱的适配安装、环境变量设置及常见问题解决方案。通过实战案例演示非线性优化问题的求解过程,帮助用户高效部署这一强大的优化工具,提升工程计算效率。

weixin_29092031的博客 405

Viewpager+Fragment跳转出现TransactionTooLargeException报错,以及解决方法

TransactionTooLargeException报错,以及解决方式 具体情况为: 在Activity里有嵌套viewpager+Fragment,同时fragment过多,有几十个,滑动过程没有问题,但是当跳转另一个activity时候,就会报如下的错误,而且还不会具体指向哪一行, 报错的原因为有如下几条: 1、activity里面有viewpager和fragment在Intent的binder传递数据量太大,不能超过1M,其实不到1M,也有可能会崩溃 2、在onSaveInstan

printlndeng的博客 2512

YOLOv11 快速入门指南 | 10分钟吃透网络结构与新特性

2024 年 9 月 30 日,Ultralytics 发布了 YOLOv11,这是继 YOLOv8、v9、v10 之后的最新一代实时目标检测模型。 与前几代相比,YOLOv11 在保持“单阶段、实时、端到端”三大基因的同时,带来了两大核心升级:一句话总结:YOLOv11 = 更快 + 更准 + 更少参数。 2.2 微观单元:C3k2 与 C2PSA 2.2.1 C3k2 模块 作用:替换 YOLOv8 的 C2f,做跨阶段局部特征融合。 核心代码(ultralytics/nn/modules/block

shrgegrb的博客 1407

IllegalStateException: No host靠谱解决方案fragment与viewpager相互套嵌bug

在做fragment套嵌viewpager,中再套嵌fragment的时候出现了这种报错。 在设置适配器的时候用了以下几种都没成功: 1、getChildFragmentManager() 2、 getFragmentManager() 3、getSupportFragmentManager(); 经过仔细排查,还是自己平时习惯的问题。 一般我平时创建适配器代码如下: Pag

zhan10001的博客 504

Codex 实战 Skills:如何用 Skill 让 AI 模拟人工点击,自动完成复杂的前端表单测试

本文介绍如何构建基于Selenium WebDriver的AI Agent技能,实现自动化UI测试流程。主要内容包括: 环境搭建:配置无头Chrome浏览器环境,使用WebDriver Manager自动管理驱动 核心技能开发:通过ID、CSS Selector、XPath等策略定位元素,实现显式等待机制 交互模拟:使用ActionChains模拟鼠标悬停等复杂操作 稳定性优化:解决异步加载问题,确保测试可靠性 Skill封装:将功能模块化,使AI能通过自然语言指令操作Web界面 该方案突破了传统自动化测试

yueyeguzhuo的专栏 147

2025华为杯第二十二届中国研究生数学建模竞赛D题:低空湍流监测及最优航路规划 - 完整解题分析+完整MATLAB源码!(下篇)

🎓 本文收录于 《滚雪球学数学建模》专栏,本专栏专注于从零基础出发,带你循序渐进掌握数学建模的核心方法与思维路径。通过“滚雪球式”学习法,从最简单的生活化案例到经典建模工具,再到省赛、国赛真题实战演练,逐步积累知识与技能,帮助你搭建完整的建模体系。无论你是刚接触建模的新生,还是希望提升科研与竞赛能力的学者与工程师,本专栏都将为你提供一条清晰、高效、可实操的建模成长路线,助力你快速进阶,突破难点,迈向数学建模竞赛与实际应用的更高峰 🚀!

**My Coding Family** 1621

java.lang.IllegalStateException: Fragment no longer exists for key f0: unique id 8b73484e-f6ef-43c6

java.lang.IllegalStateException: Fragment no longer exists for key f0: unique id 8b73484e-f6ef-43c6-b7f7-17c1df3ee85b at androidx.fragment.app.FragmentManager.getFragment(FragmentManager.java:772) at androidx.fragment.app.FragmentStatePage.

W_LIN的博客 4451

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

使用Fragmentation,start跳转到嵌套viewpager页面出现返回键重写失效原因。

在Fragment中嵌套ViewPager时应该使用getChildFragmentManager(),而不是getFragmentManager(); getFragmentManager()所得到的是所在fragment 的父容器的管理器, getChildFragmentManager()所得到的是在fragment里面子容器的管理器。 最近在写项目时,采用的是单Activit...

petterp的博客 892

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Android ViewPager之间嵌套,滑动时出现Crash

ViewPager中嵌套了ViewPager,滑动到子ViewPager时会发生闪退并报错: 这是因为默认状态下ViewPager滑动时,对子元素的缓存只有左右一边一个当子ViewPager是当前一页左边或者右边第二个时,系统就会回收这个子ViewPager回收后,滑动企图再加载子ViewPager时,如果子ViewPager使用的是FargmentStatePagerAdapter,就会出现上述问题,猜测是Adapter内部缓存管理问题解决方案1、将子ViewPager的Adapter改为Fargme

qq_26297271的博客 656

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

【Andorid X 项目笔记】嵌套Fragment的使用(5)

前言  之前的文章有介绍ActivityGroup,不少人问嵌套使用的问题,同样的需求在Fragment中也存在,幸好在最新的Android support 包已经支持这一特性!这里就跳过Fragment的介绍,需要注意的是TabActivity已经被标记为弃用(deprecated)。   声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com 农民伯伯

萌萌的It人 www.itmmd.com 2088

ViewPager嵌套带ViewPager的Banner,来回切换Banner数据丢失

数据丢失解决方法: 其实是Fragment嵌套了Fragment的问题,外层的Fragment是调用 NewMainPagerAdapter adapter = new NewMainPagerAdapter(getFragmentManager(), viewpagerFragmentList, mTitles); 而内层是要调用 BannerPagerAda

hard work 1038

Android Bug : Fragment no longer exists for key f0: index 0

Fragment no longer exists for key f0: index 0 报错信息: Fragment no longer exists for key f0: index 0 开发情况 在Activity里面把两个Fragment加载到FrameLayout里面,切换显示 每个Fragment里面有Viewpager包装两个Fragment 即:Fragme...

写代码的仓颉 7950

java.lang.IllegalStateException: Fragment no longer exists for key f0:

报错日志: java.lang.IllegalStateException: Fragement no longer exists for key f0: index 0 at android.support.v4.app.FragmentManagerImpl.getFragment(FragmentManager.java:564) at android.support.v4.app.FragmentStatePagerAdapter.restoreState(FragmentStatePagerA

W_LIN的博客 2259

NestedScrollView、RecycleView、ViewPager 等布局方面的常见问题汇总,及解决

前言 在开发中我们经常会用到 NestedScrollView 和 RecycleView,一般情况下这两种布局是不需要进行嵌套的,很多情况下 RecycleView 就可以自行解决,但是毕竟是一般情况,因此超出一般情况外的,我们可能就需要进行嵌套了,虽然 Google 大大也不鼓励我们这样使用。 这样使用可能会带来一些问题,一如当年的 ScrollView 和 ListView 的矛盾一样。

wjr1949的博客 1880

Activity嵌套Fragment,Fragment里用viewPager嵌套子Fragment报错解决方案

Activity里有三个fragment,分别是A,B,C,ABC是可以动态地互相替换的,其中C中有一个viewPager,viewPager里有两个fragment,分别是D,E。Activity切换到C,然后切换到A或者B,再切换到C,就会出现报错。其中的原因是C中的viewPager里的adapter里的fragmentManager状态是Activity已销毁。方法一: 解决方案是在C中通

John的专栏 1657

Android onSaveInstanceState/onRestoreInstanceState 原来要这么理解

前言 前些天,有位小伙伴兴匆匆地跑过来给我展示一个现象:Activity 里有个EditText,点击该EditText 输入一些文字。此时,转动手机方向,Activity 变成横屏了,而EditText 上的文字依然保留。 问我:为啥EditText上文字能够恢复? 我说:你Activity 配置了横竖屏切换时不重建Activity。 他立马给我展示了:Activity 重建的日志。 我说:系统会在重建Activity 的时候恢复整个ViewTree吧。 他又给我展示了:ImageView 横竖屏时没有恢

4633
上一篇: 屏幕适配之——图片适配
下一篇: 使用support.design.widget.TabLayout和ViewPager组合成滑动标签组件
Android_Study_OK
博客等级 码龄11年 91粉丝 128原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值