两个fragment之间简单的跳转
1.在第一个fragment中开启事务,设置标记
Toast.makeText(getActivity(), "切换到下一个fragment中", Toast.LENGTH_SHORT).show();
//开启事务跳转
FragmentTransaction transaction = getFragmentManager().beginTransaction();
String textItem = ((TextView) view).getText().toString();
ProduceDetailFragment produceDetailFragment = new ProduceDetailFragment();
Bundle bundle = new Bundle();
bundle.putString("productTitle", textItem);
produceDetailFragment.setArguments(bundle); transaction
.addToBackStack(null) //将当前fragment加入到返回栈中
.replace(R.id.fl_main_fragment,produceDetailFragment)
.show(produceDetailFragment)
.commit();
2.在第二个里面
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.activity_produce, container, false);
ButterKnife.bind(this, view);
//设置公共标题
setTitle();
initData(); return view;
}
3.获取数据
/*--------------设置公共标题-------------*/
private void setTitle() {
title = getArguments().getString("productTitle");
tvCustomTitle.setText(title);
btnClose.setText("返回");
btnSearch.setVisibility(View.GONE); }
4.返回到上一个fragment
@OnClick(R.id.btn_close)
public void onClick() {
getFragmentManager().popBackStack();
}
5. 设置fragment的跳转动画
transaction.setCustomAnimations(R.anim.enter,R.anim.exit,android.R.anim.slide_in_left,android.R.anim.slide_out_right);
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromXDelta="100%p" android:toXDelta="0"
android:duration="@android:integer/config_mediumAnimTime"/>
</set>
exit.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromXDelta="0" android:toXDelta="-100%p"
android:duration="@android:integer/config_mediumAnimTime"/>
</set>
popexit.xml,popenter.xml是系统自带的
两个fragment之间简单的跳转的更多相关文章
- 两个Fragment之间如何传递数据
FragmentA启动FragmentB,做一些选择操作后,返回FragmentA,需要把FragmentB里面选择的数据传回来.有什么办法? Fragment之间不能直接通信,必须通过Activit ...
- Android中两个Activity之间简单通信
在Android中,一个界面被称为一个activity,在两个界面之间通信,采用的是使用一个中间传话者(即Intent类)的模式,而不是直接通信. 下面演示如何实现两个activity之间的通信. 信 ...
- 两个Fragment之间传递数据
1.第一个Fragment BlankFragment blankFragment = new BlankFragment();Bundle bundle = new Bundle();bundle. ...
- Android Fragment之间传递List数据
要说的是在两个Fragment之间传递List数据,比如有个List<User>,以及传递字符串数据,比如testId,该如何从FragmentA传递到FragmentB呢? 下面这个例子 ...
- Fragment之间的通信(四)
自定义两个fragment的布局和java类. 在mainactivity中引用布局文件 在其中的一个fragment中的控件上添加监听,获取到另一个fragment中控件的内容,展示出来完成frag ...
- Fragment之间的通信
在本节中,你会学到 1.定义接口 2.实现接口 3.将消息传递给fragment 为了重用Fragment UI 组件,在设计中你应该通过定义每一个fragemnt自己的layout和行为,让frag ...
- Android学习路径(23)应用Fragment建立动态UI——Fragment之间的通信
为了要重用Fragment的UI组件.你应该为它们每个都构建一个完整独立的,模块化的组件来定义他自身的布局和行为. 一旦你定义了这些可重用的Fragments.你能够通过activity关联它们同一时 ...
- Android学习笔记(七)两个Fragment简单跳转示例
在前两篇博文中分别介绍了Fragment得基础和Fragment的生命周期,然而说了这么多Fragment到底怎么用呢以及我们为什么要使用Fragment?本篇博文将主要探讨这两个问题,首先说下在AP ...
- 安卓任意两个或多个Fragment之间的交互与刷新界面
平时项目中遇到一个问题:在子fragment中刷新父fragment的界面,通俗的说也就是在任何一个fragment中来刷新另一个fragment.大家都知道activity和fragment之间的交 ...
随机推荐
- 重学JavaScript - 数组
作者:狐狸家的鱼 GitHub:surRimn 整理自MDN文档 数组 数组是一种类列表对象,长度和元素类型不固定. 描述 访问数组 JavaScript数组的索引是从0开始的,第一个元素的索引为0, ...
- c do{}while(0)
1 goto bool foo(){ int *p = (int*)malloc(5*sizeof(int)); bool bOk = true;//执行并处理错误 if(!fun1()) goto ...
- locate命令
locate命令介绍 locate(locate) 命令用来查找文件或目录. locate命令要比find -name快得多,原因在于它不搜索具体目录,而是搜索一个数据库/var/lib/mlocat ...
- mp的猜猜看
~~~~|yjb1072452141---dc9339b4c33103abc4919375203e7a24|A1482583628---0142e0b6090b9b2838328445a79cd1b8 ...
- 查找修补文件差异diff、patch
diff patch -p1 diff -Naur directory1 directory2
- junit测试
/**ssm框架测试service**/ import com.alibaba.fastjson.JSON; import com.raycloud.waimai.customer.center.po ...
- 如何局部覆盖element-ui的默认样式
- winform 以不规则图形背景显示窗体
一:创建一个winform窗体,把BackgroundImage引入一个不规则的图片,设置属性BackgroundImageLayout为Stretch 二:主要代码 using System; us ...
- L1-Day8
1.他就是我昨天见的那个人. [我的翻译]He is a man who I saw him yestorday. [标准答案]He is the man (who(m) /that) I saw y ...
- JAVA进阶16
间歇性混吃等死,持续性踌躇满志系列-------------第16天 1.桌球游戏小项目 ①窗口加载 import javax.swing.*; public class BallGame exten ...