当前位置:网站首页>Fragment-hide和show
Fragment-hide和show
2022-08-10 12:38:00 【锐湃】
为了节约资源,现在很多 app 采用了 replace() 方法来实现碎片的切换,但是在这种情宽下,如果不讲之前的碎片雅茹栈中,就无法避免之前碎片回随之销毁,所以我们采用 hide() 和 show() 方法来实现碎片的切换。
实现效果

效果图项目地址--GitHub - hornhuang/android-SignInSystem: ️ 致力于打造一款极致签到系统,技术和美是可以并存的哦!同时期待你的 star 🥳~
这里不讲废话直接给出最佳方案
首先,定义四个成员
private Fragment mContent = new Fragment();// 记录下当前碎片 由于替换
private Fragment mPerson;
private Fragment mRanking;
private Fragment mSummary;
private FragmentTransaction transaction;
其次,在 OnCreate() 方法中,对他们进行初始化
mPerson = new Personal();
mRanking = new Ranking();
mSummary = new Summary();
fragmentManager = getSupportFragmentManager();
mContent = mRanking;
FragmentTransaction transaction = fragmentManager.beginTransaction();
transaction.add(R.id.fragment, mContent).commit();
navigation.setSelectedItemId(R.id.navigation_home);最后,在按钮点击时调用
private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener
= new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.navigation_home:
switchContent(mPerson);
return true;
case R.id.navigation_dashboard:
switchContent(mRanking);
return true;
case R.id.navigation_ranking:
switchContent(mSummary);
return true;
}
return false;
}
}; private void switchContent(Fragment to) {
if (mContent != to) {
FragmentTransaction transaction = fragmentManager.beginTransaction();
if (!to.isAdded()) { // 判断是否被add过
// 隐藏当前的fragment,将 下一个fragment 添加进去
transaction.hide(mContent).add(R.id.fragment, to).commit();
} else {
// 隐藏当前的fragment,显示下一个fragment
transaction.hide(mContent).show(to).commit();
}
mContent = to;
}
}完整代码地址 -->
点击跳转-- https://github.com/FishInWater-1999/android-SignInSystem/blob/master/app/src/main/java/com/example/joker/signinsystem/activities/MainActivity.java
————————————————
版权声明:本文为CSDN博主「圆号本昊」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_43377749/article/details/89854480
边栏推荐
- 实践为主,理论为辅!腾讯大佬MySQL高阶宝典震撼来袭!
- Redis 定长队列的探索和实践
- 神了!阿里数据库专家纯手写了这份604页的Oracle+MySQL攻坚指南
- 一种能让大型数据聚类快2000倍的方法,真不戳
- 生成树协议STP(Spanning Tree Protocol)
- Requirements for the construction of Loudi stem cell preparation laboratory
- LeetCode medium topic search of two-dimensional matrix
- 22家!北京昌平区通报存在食品安全问题餐饮服务企业
- The basic components of Loudi plant cell laboratory construction
- Network Saboteur
猜你喜欢

Solve the idea that unit tests cannot use Scanner

Jiugongge lottery animation

3DS MAX batch export file script MAXScript with interface

Nanodlp v2.2/v3.0 light curing circuit board, connection method of mechanical switch/photoelectric switch/proximity switch and system state level setting

漏洞管理计划的未来趋势

【黑马早报】雷军称低谷期曾想转行开酒吧;拜登正式签署芯片法案;软银二季度巨亏230亿美元;北京市消协约谈每日优鲜...
![ArcMAP出现-15的问题无法访问[Provide your license server administrator with the following information:Err-15]](/img/da/b49d7ba845c351cefc4efc174de995.png)
ArcMAP出现-15的问题无法访问[Provide your license server administrator with the following information:Err-15]

Solution for "Certificate not valid for requested usage" after Digicert EV certificate signing

bgp dual plane experiment routing strategy to control traffic

M²BEV: Multi-Camera Joint 3D Detection and Segmentation with Unified Bird’s-Eye View Representation
随机推荐
【论文+代码】PEBAL/Pixel-wise Energy-biased Abstention Learning for Anomaly Segmentation on Complex Urban Driving Scenes(复杂城市驾驶场景异常分割的像素级能量偏置弃权学习)
C#报错 The ‘xmins‘ attribute is not supported in this context
把相亲角搬到海外,不愧是咱爸妈
Basic knowledge of switches
可视化服务编排在金融APP中的实践
鸿蒙开发从hello world开始
Proprietary cloud ABC Stack, the real strength!
sprintboot项目通过interceptor和filter实现接入授权控制
G1和CMS的三色标记法及漏标问题
Digicert EV证书签名后出现“证书对于请求用法无效”的解决方案
神经网络可视化有3D版本了,美到沦陷!(已开源)
rpn:def concat_box_prediction_layers
「网络架构」网络代理第一部分: 代理概述
Efficient and Robust 2D-to-BEV Representation Learning via Geometry-guided Kernel Transformer 论文笔记
跨域的五种解决方案
BEVDet4D: Exploit Temporal Cues in Multi-camera 3D Object Detection Paper Notes
虚拟机桥接模式不能上网
Prada, big show?In the yuan in the universe that!
MYSQL误删数据恢复
OTA自动化测试解决方案---整体方案介绍