Android 两个Fragment之间的跳转和数据的传递实例详解
Android 两个Fragment之间的跳转和数据的传递实例详解
作为一个Android的菜鸟,前些天在做项目的时候用到了fragment,需求是从一个Fragment跳转到另一个Fragment,并且还要传递数据,就像Activity的跳转一样。在网上找了好久都没找到很好的列子,最后通过看别人的博客和查文档终于做好了,现在整理一下,希望能帮助有需要的童鞋。
1、首先在第一个Fragment 里面拿到FragmentManger 和FragmentTransaction 代码如下。
@Override public void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); fm = getFragmentManager(); }
2 准备要传递的数据跳转。
deptListView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int postion, long arg3) { ft = fm.beginTransaction();//注意。一个transaction 只能commit一次,所以不要定义成全局变量 long id = adapter.getDepartments().get(postion).getId(); String name = adapter.getDepartments().get(postion).getName(); DeptDocFragment df = new DeptDocFragment(); Bundle bundle = new Bundle(); bundle.putLong("id", id); bundle.putString("name", name); df.setArguments(bundle); ft.replace(R.id.guide_content, df); ft.addToBackStack(null); ft.commit(); } });
上面的DeptDocFragment就是我要跳转的Fragment,而传递数据跟Activity一样,用Bundle,最后通过df.setArguments(bundle);携带数据。通过replace方法切换Fragment实现跳转,最后别忘了commit 提交。
3 接下来就是在另一个Fragment 中获取第一个Fragment 传递过来的数据。
@Override public void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); Bundle bundle = getArguments(); deptId = bundle.getLong("id"); deptName = bundle.getString("name"); }
在Fragment的onCreate() 方法中获取数据。然后在这个Fragment中完成你需要的逻辑。好了,整个Fragment的跳转就算是完成了。
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关推荐
-
Android使用TabLayou+fragment+viewpager实现滑动切换页面效果
TabLayou 主要实现的是标题头的 滑动 这个 控件 类似于 ScrollView XML中的布局 <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <android.support.design.widget.TabLayout a
-
Android 使用Fragment模仿微信界面的实例代码
什么是Fragment 自从Android 3.0中引入fragments 的概念,根据词海的翻译可以译为:碎片.片段.其目的是为了解决不同屏幕分辩率的动态和灵活UI设计.大屏幕如平板小屏幕如手机,平板电脑的设计使得其有更多的空间来放更多的UI组件,而多出来的空间存放UI使其会产生更多的交互,从而诞生了fragments . fragments 的设计不需要你来亲自管理view hierarchy 的复杂变化,通过将Activity 的布局分散到frament 中,可以在运行时修改activit
-
Android在Fragment中实现监听触摸事件
本文给大家介绍的是监听Fragment的触摸事件实现.如果大家有更好的机制,可以留言交流,下面来看看详细的介绍: 大家都知道,我们的activity中有onTouchEvent方法,可以用来实现触摸事件的监听. activity的触摸事件 @Override public boolean onTouchEvent(MotionEvent event) { return super.onTouchEvent(event); } 但是对于Fragment,其中却没有这个方法,如果我们在fragmen
-
android中Fragment+RadioButton实现底部导航栏
在App中经常看到这样的tab底部导航栏 那么这种效果是如何实现,实现的方式有很多种,最常见的就是使用Fragment+RadioButton去实现.下面我们来写一个例子 首先我们先在activity_mian.xml定义布局,整个布局的外面是线性布局,上面是帧布局切换不同的Fragment,底下是RadioGroup嵌套的是RadioButton.代码如下所示: <?xml version="1.0" encoding="utf-8"?> <Li
-
Android使用TabLayout+Fragment实现顶部选项卡
先看效果图: 使用Tablayout,首先需要在项目中加入Design包 dependencies { compile 'com.android.support:design:24.1.1' } 在activity_main.xml布局文件中 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/
-
Android开发中如何解决Fragment +Viewpager滑动页面重复加载的问题
前言 之前在做一个Viewpager上面加载多个Fragment时总会实例化已经创建好的Fragmnet对象类似 viewPager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) { @Override public Fragment getItem(int position) { switch(position){ case 0: fragments=new Fragmnet01(); break; case
-
Android实现底部图标与Fragment的联动实例
本文介绍了ndroid实现底部图标与Fragment的联动,分享给大家,希望此文章对各位有所帮助. 效果如下: 1.首先在res下的drawable下新建四个图标的xml,分别把图标的选中和未选中的状态设置好,所有的图片可以放在res下新建的一个drawable-xhdpi目录下,这里仅展示一个图标的xml <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="ht
-
Android 两个Fragment之间的跳转和数据的传递实例详解
Android 两个Fragment之间的跳转和数据的传递实例详解 作为一个Android的菜鸟,前些天在做项目的时候用到了fragment,需求是从一个Fragment跳转到另一个Fragment,并且还要传递数据,就像Activity的跳转一样.在网上找了好久都没找到很好的列子,最后通过看别人的博客和查文档终于做好了,现在整理一下,希望能帮助有需要的童鞋. 1.首先在第一个Fragment 里面拿到FragmentManger 和FragmentTransaction 代码如下. @Ove
-
Android 两个Fragment之间的跳转和数据的传递实例详解
Android 两个Fragment之间的跳转和数据的传递实例详解 作为一个Android的菜鸟,前些天在做项目的时候用到了fragment,需求是从一个Fragment跳转到另一个Fragment,并且还要传递数据,就像Activity的跳转一样.在网上找了好久都没找到很好的列子,最后通过看别人的博客和查文档终于做好了,现在整理一下,希望能帮助有需要的童鞋. 1.首先在第一个Fragment 里面拿到FragmentManger 和FragmentTransaction 代码如下. @Ove
-
Android 两个Fragment之间传递数据实例详解
Android 两个Fragment之间如何传递数据 FragmentA启动FragmentB,做一些选择操作后,返回FragmentA,需要把FragmentB里面选择的数据传回来.有什么办法? Fragment之间不能直接通信,必须通过Activity来完成,具体步骤. 1. 在FragmentA中定义通信接口,通过该接口向Activity发送数据. public class FragmentA extends Fragment { private onButtonPressListener
-
Android Studio 一个工程打包多个不同包名的APK实例详解
公司最近有个特别的需求,同一套代码,稍做修改(如包名不一样,图标不一样,应用名不一样等),编译出几个不同的应用.刚好用AS重构完项目,在网上查阅了一些资料,终于搞定!!在这记录一下. AS主要是利用gradle来实现这个需求的,具体做法如下: 修改app的build.gradle文件 假设我们同一套代码编译2个app:app1和app2 android { ... productFlavors { // app1 app1 { // 设置applicationId(这里很重要,两个相同appli
-
IOS开发之判断两个数组中数据是否相同实例详解
IOS开发之判断两个数组中数据是否相同实例详解 前言: 工作中遇到的问题,这里记录下,也许能帮助到大家 实例代码: NSArray *array1 = [NSArray arrayWithObjects:@"a", @"b", @"c", nil nil]; NSArray *array2 = [NSArray arrayWithObjects:@"b", @"a", @"c", nil
-
Android Activity与Fragment之间的跳转实例详解
Activity及Fragment之间的跳转 直接跳转 基本使用方法 public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void jump(Vie
-
微信小程序 页面跳转和数据传递实例详解
微信小程序 页面跳转和数据传递 1.先导 在Android中,我们Activity和Fragment都有栈的概念在里面,微信小程序页面也有栈的概念在里面.微信小程序页面跳转有四种方式: 1.wx.navigateTo(OBJECT): 2.wx.redirectTo(OBJECT): 3.wx.switchTab(OBJECT): 4.wx.navigateBack(OBJECT) 5.使用实现对应的跳转功能: 分析: 其中navigateTo是将原来的页面保存在页面栈中,在跳入到下一个页面的时
-
java 交换两个数据的方法实例详解
java 交换两个数据的方法 1:利用数组,即先把要交换的数字放在数组中 ,比如在一些数组排序中可能用到 public static void swap2(int[] arr,int a,int b){ int temp =arr[a]; arr[a] = arr[b]; arr[b] = temp; } 2:通过创建对象,这样就把两个整数的值 引入到了 对象中 可以实现 两个整数的交换.当然 ,若要其他基本数据类型只需要更改一下A中的类型即可. public static void swap(
-
Android进阶从字节码插桩技术了解美团热修复实例详解
目录 引言 1 插件发布 2 Javassist 2.1 准备工作 2.2 Transform 2.3 transform函数注入代码 2.3.1 Jar包处理 2.3.2 字节码处理 2.4 Javassist织入代码 2.4.1 ClassPool 2.4.2 CtClass 引言 热修复技术如今已经不是一个新颖的技术,很多公司都在用,而且像阿里.腾讯等互联网巨头都有自己的热修复框架,像阿里的AndFix采用的是hook native底层修改代码指令集的方式:腾讯的Tinker采用类加载的方
-
Android App中实现简单的刮刮卡抽奖效果的实例详解
主要思想: 将一个view设计成多层:背景层,含中奖信息等: 遮盖层,用于刮奖,使用关联一个Bitmap的Canvas 在该Bitmap上,使用它的canvas.drawPath的api来处理 手势滑动(类似刮奖的动作) 使用paint.setXfermode 来进行消除手势滑动区域 public class GuaView extends View { private Bitmap mBitmap; //遮盖的图层 private Canvas mCanvas; //绘制遮盖图层 privat
随机推荐
- 详解angularjs 关于ui-router分层使用
- Java加载JDBC驱动程序实例详解
- js移动端事件基础及常用事件库详解
- 关于html嵌入xml数据岛如何穿过树形结构关系的问题
- 关于网页媒体播放器兼容性的问题(附原码) 下载
- BootStrap表单宽度设置方法
- 让JavaScript和其它资源并发下载的方法
- asp.net gridview强制换行
- PHP中字符串长度的截取用法示例
- PHP的preg_match匹配字符串长度问题解决方法
- php记录代码执行时间(实现代码)
- MacOS 安装 PHP的图片裁剪扩展Tclip
- Bootstrap多级菜单的实现代码
- Bootstrap 附加导航(Affix)插件实例详解
- 详解nodejs与javascript中的aes加密
- jquery实现的一个文章自定义分段显示功能
- JS获取本周周一,周末及获取任意时间的周一周末功能示例
- IIS支持URL重写指南 推荐
- linux下配置yum源方法详解
- 详解使用Spring MVC统一异常处理实战