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:/ ...
随机推荐
- es6变量的解构赋值学习笔记
1. 解构赋值的规则是,只要等号右边的值不是对象,就先将其转为对象.由于undefined和null无法转为对象,所以对它们进行解构赋值,都会报错. let { prop: x } = undefin ...
- Linux系统下如何去掉文件的@属性
前几天从别处copy了一个memcached.so文件,发现运行不了,用ls -l 看了一下发现memcached.so多了一个@属性,如何去掉这个@属性呢? 第一步:ls -laeO@ 第二步:xa ...
- java写出进程条代码
package com.ds; import java.awt.Color; import java.awt.Toolkit; import javax.swing.ImageIcon; import ...
- ios配合iTuns提取应用Documents下的文件到本地
出处:http://blog.csdn.net/jianandjan/article/details/50442988 有一些App需要通过使用iTunes让用户上传和下载文档.要让iOS程序支持iT ...
- Eclipse Maven 编译错误 Dynamic Web Module 3.0 requires Java 1.6 or newer 解决方案
Eclipse Maven 开发一个 jee 项目时,编译时遇到以下错误:Description Resource Path Location TypeDynamic Web Module 3.0 r ...
- java飞机大战之子弹的自动生成
import java.awt.Graphics; import java.util.ArrayList; import javax.swing.JFrame; import javax.swing. ...
- ActionbarActivity和普通的Activity的区别
ActionbarActivity用于支持API11以下的程序支持ActionBar的功能,但是需要加入支持库 不这样做的话只有API11以上的才能支持ActionBar
- [luogu3385]dfs_spfa判负环模板
解题关键:模板保存. 判负环不需要memset dis数组,因为已经更新过得d数组一定小于0,如果当前点可以更新d,说明d更小,有可能继续扩大负环,所以继续更新:如果比d[v]大,则不可能继续更新负环 ...
- SpringBoot05 数据操作01 -> JPA的基本使用、基本使用02
前提: 创建一个springboot项目 创建一个名为springboottest的MySQL数据库 1 jar包准备 jpa的jar包 mysql驱动的jar包 druid数据库连接池的jar包 l ...
- 463. Island Perimeter岛屿周长
[抄题]: You are given a map in form of a two-dimensional integer grid where 1 represents land and 0 re ...