社区
Android
帖子详情
Android Fragment隐藏后出现的怪异问题
zp19910219
2016-08-21 11:01:50
如题,在做一个项目的时候,需要做一个底部导航栏,我自己画了一个ui,然后做fragment的显示和隐藏操作。
我是这样做的,当点击导航栏某一块的时候,先隐藏所有的fragment,然后显示需要展示的fragment。
到这里,功能都实现了,但是在测试的时候,偶尔会出现一个奇葩问题,显示的fragment上会响应其他fragment按钮的事件,功能乱套了,请问是什么问题导致的呢?
...全文
629
6
打赏
收藏
Android Fragment隐藏后出现的怪异问题
如题,在做一个项目的时候,需要做一个底部导航栏,我自己画了一个ui,然后做fragment的显示和隐藏操作。 我是这样做的,当点击导航栏某一块的时候,先隐藏所有的fragment,然后显示需要展示的fragment。 到这里,功能都实现了,但是在测试的时候,偶尔会出现一个奇葩问题,显示的fragment上会响应其他fragment按钮的事件,功能乱套了,请问是什么问题导致的呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Poulfei
2017-04-09
打赏
举报
回复
我也出现这种问题,请问楼主有没有解决?
zp19910219
2016-09-21
打赏
举报
回复
@Override protected void onSaveInstanceState(Bundle outState) { //阻止activity保存fragment的状态 //super.onSaveInstanceState(outState); } 用这个好了,原因是在app崩溃的时候重新走了一遍生命周期,以前add过的没有remove掉
qq_26763799
2016-09-06
打赏
举报
回复
fragment使用hide和show方法时的点击穿透性质 你可以在fragment上添加onTouch事件,return true;一般就解决了
obliviousSing
2016-09-06
打赏
举报
回复
引用 2 楼 qq_31934293 的回复:
建议不要用hide的方式,而改用replace来替换当前frgament,这样从性能来说也要好一点
replace不是move然后再add嘛?会比hide性能好?
梦境之末lol
2016-08-22
打赏
举报
回复
建议不要用hide的方式,而改用replace来替换当前frgament,这样从性能来说也要好一点
LoveWyf_
2016-08-21
打赏
举报
回复
会不会是在调用fragment有混乱。。或者你实现一下fragment的懒加载,看看能不能解决问题
Android
Fragment
使用hide和show方法的
问题
Fragment
的强大是毋庸置疑的,现在是越来越喜欢使用它了,但是使用中我也是头疼了好一阵,各种小bug层出,记录一下: 我们使用
Fragment
去填充布局的时候,是有两种方法可以实现的:一种是使用
fragment
的管理器的replace()方法,另一种就是使用hide()和show()方法对
Fragment
显示
隐藏
。 很明显replace()方法就是不断的替换覆盖当前布局,每一次的r...
android
后退,
Android
Fragment
后退
问题
众所周知,
fragment
没有返回事件,要想实现返回拦截,可以自行定义一个BackPress接口,在
fragment
里实现这个接口,具体方法可自行百度。JetPack
出现
了,提供了更便捷的方式,只需在
Fragment
里添加callback,代码如下:requireActivity().getOnBackPressedDispatcher().addCallback(this, mOnBackPre...
防止
fragment
反复实例化
android
fragment
实例化 replace show
Constraint遇到的那些坑之
Android
View设置visible无效的
问题
Constraint遇到的那些坑之
Android
View设置visible无效的
问题
发现
问题
Talk is cheap.Show me your code.解决方法 发现
问题
近期在开发界面的时候,需要做
Android
的控件显示
隐藏
的操作,发现在代码中设置visible属性不生效,再看代码确确实实也执行了。发现
问题
很诡异,排查了很久终于解决了。 Talk is cheap.Show me your code. 当当当当~ <?xml version="1.0" encoding="utf-8"?
Fragment
的相关用法第二篇
如今
Android
中
fragment
的使用越来越频繁,在实现多个
fragment
之后,如若在切换时使用replace()方法替换
Fragment
,那就要不断的去实例化,消耗资源。所以把replace()用add()+show()+hide()来替代从而当
Fragment
实例化之后就控制
Fragment
的显示
隐藏
。 直接上代码: public class MainA
Android
80,351
社区成员
91,288
社区内容
发帖
与我相关
我的任务
Android
移动平台 Android
复制链接
扫一扫
分享
社区描述
移动平台 Android
android
android-studio
androidx
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章