当前位置: 首页 > news >正文

两个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是系统自带的

转载于:https://www.cnblogs.com/fanfusuzi/p/7017833.html

相关文章:

  • Spring《六》管理Bean
  • Python开发【第四篇】:Python基础之函数
  • 【cocos2d-x 3.7 飞机大战】 决战南海I (四) 敌机管理
  • 先来认识一些UML图标
  • C# 泛型
  • Android使用Canvas画图
  • 14.6 将运算分组为事务
  • bpm功能指标
  • 《Effective Modern C++》翻译--条款4:了解怎样查看推导出的类型
  • nginx 前端调度 对后端的app的生存状态的检测
  • 《计算机科学导论》一1.6计算机科学作为一门学科
  • dede的应用
  • shell--3、Shell 传递参数
  • 网页版俄罗斯方块
  • 【140天】尚学堂高淇Java300集视频精华笔记(86-87)
  • angular组件开发
  • JavaScript异步流程控制的前世今生
  • JDK9: 集成 Jshell 和 Maven 项目.
  • Laravel 中的一个后期静态绑定
  • Linux CTF 逆向入门
  • Nodejs和JavaWeb协助开发
  • Python学习笔记 字符串拼接
  • Selenium实战教程系列(二)---元素定位
  • STAR法则
  • vuex 学习笔记 01
  • WinRAR存在严重的安全漏洞影响5亿用户
  • 从0到1:PostCSS 插件开发最佳实践
  • 将 Measurements 和 Units 应用到物理学
  • 山寨一个 Promise
  • 一起来学SpringBoot | 第三篇:SpringBoot日志配置
  • 怎样选择前端框架
  • Redis4.x新特性 -- 萌萌的MEMORY DOCTOR
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • #{}和${}的区别?
  • #考研#计算机文化知识1(局域网及网络互联)
  • #每日一题合集#牛客JZ23-JZ33
  • $.proxy和$.extend
  • (2)Java 简介
  • (Git) gitignore基础使用
  • (pojstep1.3.1)1017(构造法模拟)
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (第61天)多租户架构(CDB/PDB)
  • (转)Linux下编译安装log4cxx
  • .halo勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET delegate 委托 、 Event 事件
  • .NET/C# 使用 #if 和 Conditional 特性来按条件编译代码的不同原理和适用场景
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)
  • ?.的用法
  • @Async注解的坑,小心
  • @SpringBootApplication 包含的三个注解及其含义
  • [20181219]script使用小技巧.txt
  • [Android]使用Git将项目提交到GitHub
  • [Android]一个简单使用Handler做Timer的例子
  • [bbk5179]第66集 第7章 - 数据库的维护 03