Fragment之间通过add切换时的显示与隐藏
新手,不知道用什么方法实现 ,通过动态的方法显示了Fragment A,在这个里面点击列表项时add方法动态加载Fragment B,但是两者都会一起显示,重叠在一起了,如果用replace方法,那么返回时原来的A内容就变化了,不是用户点击以前的了。个人的想法时在加载B时在B中隐藏A,当B退出时再把A显示出来,经过实践,效果还行。
1. 创建A时,使用tag,方便在B中找到它。
if (fragtwo==null){
fragtwo=new twoFragment();
FT.add(R.id.layFrame,fragtwo,"FA");
}else{
FT.show(fragtwo);
}
在A中创建B.
lv_list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String url= filelist[position].toString();
FragmentManager Fm=getFragmentManager();
FragmentTransaction FT=Fm.beginTransaction();
Fragvideo=VideoFragment.newInstance(url);
FT.add(R.id.layFrame, Fragvideo,"FB");
FT.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
FT.addToBackStack(null);
FT.commit();
}
});
在Fragment B的 onCreateView中查找到A,然后隐藏起来,先定义一个Fragment,在不同的事件中使用。
private Fragment Fm; public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
vi=inflater.inflate(R.layout.fragment_video, container, false);
Fm=getFragmentManager().findFragmentByTag("Ftwo");
getFragmentManager().beginTransaction().hide(Fm).commit(); }
在B中我是通过一个按钮来返回A的,在返回中让A显示出来,弹出B
btn_fh.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getFragmentManager().beginTransaction().show(Fm).commit();
getFragmentManager().popBackStack();
// getActivity().onBackPressed();
}
});
不知道方法对不对,希望大神提供更好的方法,我是小白,代码太复杂了看不懂。
Fragment之间通过add切换时的显示与隐藏的更多相关文章
- 【转】Android Fragment中使用SurfaceView切换时闪一下黑屏的解决办法
重构了下之前自己的一个新闻客户端,全部使用了Fragment来进行页面切换,只有一个入口Activity作为程序的启动Activity,其中有一个界面需要调用摄像头识别二维码, 于是就会用到Surfa ...
- 解决微信小程序的wx-charts插件tab切换时的显示会出现位置移动问题-tab切换时,图表显示错乱-实现滑动tab
解决Echarts在微信小程序tab切换时的显示会出现位置移动问题 tab切换时,图表显示错乱 <canvas class="kcanvas" canvas-id=" ...
- Android文本输入框(EditText)切换密码的显示与隐藏
package cc.c; import android.app.Activity; import android.os.Bundle; import android.text.Selection; ...
- [Android Pro] Fragment中使用SurfaceView切换时闪一下黑屏的解决办法
方法一.在Activity的onCreate中添加如下代码 getWindow().setFormat(PixelFormat.TRANSLUCENT); reference to : http:/ ...
- JQuery弹出层,实现弹层切换,可显示可隐藏。
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <t ...
- Div和Span标签显示与隐藏
本实例中,学习jQuery的知识,显示与隐藏网页上的div或是span标签. 实际环境中,也许是根据某些条件进行,符合条件时,对某个或是某个div或是span标签时行显示与隐藏. 主要是学习jQuer ...
- 两层Fragment嵌套,外层Fragment切换时内层Fragment不显示内容
尊重他人劳动成果,转载请说明出处:http://blog.csdn.net/bingospunky/article/details/46847269 需求 在搭界面有这么样一个需求:须要两层的Frag ...
- Android使用Fragment来实现ViewPager的功能(解决切换Fragment状态不保存)以及各个Fragment之间的通信
以下内容为原创,转载请注明:http://www.cnblogs.com/tiantianbyconan/p/3364728.html 我前两天写过一篇博客<Android使用Fragment来 ...
- Android使用Fragment来实现TabHost的功能(解决切换Fragment状态不保存)以及各个Fragment之间的通信
以下内容为原创,转载请注明:http://www.cnblogs.com/tiantianbyconan/p/3360938.html 如新浪微博下面的标签切换功能,我以前也写过一篇博文(http:/ ...
随机推荐
- 类和对象(12)—— this指针
首先,我们都知道类的成员函数可以访问类的数据(限定符只是限定于类外的一些操作,类内的一切对于成员函数来说都是透明的),那么成员函数如何知道哪个对象的数据成员要被操作呢,原因在于每个对象都拥有一个指针: ...
- gulp之文件合并以及整合html中的script和link
gulp的文件合并,也就是将多个js或css文件合并为一个的插件是:gulp-concat gulp将html中的多个<script>或<link>合并为一个的插件是:gulp ...
- Python 算法之冒泡排序
冒泡排序 冒泡排序算法的原理如下:(从后往前) 1.比较相邻的元素.如果第一个比第二个大,就交换他们两个. 2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.在这一点,最后的元素应该会是 ...
- 修改rbd指定位置的数据
标签(空格分隔): ceph,ceph实验 --- 我们通过查看index为0x01的小4M文件,得知了file2.txt这个文件内容在这个4M内保存的位置为0x9000,因为0x01前面还有一个4M ...
- Excel开发学习笔记:界面交互与控件的布局
遇到一个数据处理自动化的问题,于是打算开发一个基于excel的小工具.在业余时间一边自学一边实践,抽空把一些知识写下来以备今后参考,因为走的是盲人摸象的野路子,幼稚与错误请多包涵. , ).value ...
- Celery-4.1 用户指南: Configuration and defaults (配置和默认值)
这篇文档描述了可用的配置选项. 如果你使用默认的加载器,你必须创建 celeryconfig.py 模块并且保证它在python路径中. 配置文件示例 以下是配置示例,你可以从这个开始.它包括运行一个 ...
- Python打造一个目录扫描工具
目标:用Python3写一款小型的web目录扫描工具 功能:1.扫描指定站点 2.指定网站脚本类型来扫描 3.可控线程 4.可保存扫描结果 首先定义一个命令参数的函数 def parse_option ...
- react过渡动画效果的实现,react-transition-group
本文介绍react相关的过渡动画效果的实现 有点类似vue的transition组件,主要用于组件mount和unmount之前切换时应用动画效果 安装 cnpm install react-tran ...
- 2014.2.23 datagridview显示图片的方法
DataTable dt = new DataTable(); dt.Columns.Add("", typeof(byte[])); dt.Rows.Add(File.ReadA ...
- leetcode665
这道题目,主要是判断相邻的两个值的大小,并按照要求的方式,将数组的数值都修正为符合要求的值. 然后通过一次的遍历,计算所累积的移动次数. bool checkPossibility(vector< ...