Activity与Activity,Activity与Fragment及Fragment与Fragment之间传值
来源:互联网 发布:linux 文件写权限 编辑:程序博客网 时间:2024/05/18 20:32
1,Activity与Activity通信及Activity与Fragment通信
1) 当Fragment跟Activity绑定之后,在Fragment中可以直接通过getActivity()方法获取到其绑定的Activity对象,这样就可以调用Activity的方法了。在Activity中可以通过如下方法获取到Fragment实例
FragmentManager fragmentManager = getFragmentManager();
Fragment fragment = fragmentManager.findFragmentByTag(tag);
Fragment fragment = fragmentManager.findFragmentById(id);
获取到Fragment之后就可以调用Fragment的方法。也就实现了通信功能。
2)另外也可以调用fragment.setArguments(Bundle)方法,将数据绑定到Fragment域中。
可传输的数据类型: a.基本数据类型(数组), b. String(数组), c. Bundle(Map), d. Serializable(Bean), e.Parcelable(放在内存一个共享空间里);
基本类型:
Intent intent = new Intent(this, OtherActivity.class);
intent.putExtra("name", "张飞"); // 携带数据
intent.putExtra("age", 12);
startActivity(intent);
一捆数据:
Intent intent = new Intent(this, OtherActivity.class);
Bundle b1 = new Bundle();
b1.putString("name", "赵云");
b1.putInt("age", 25);
Bundle b2 = new Bundle();
b2.putString("name", "关羽");
b2.putInt("age", 44);
intent.putExtra("b1", b1);
intent.putExtra("b2", b2);
序列化对象(须实现序列化接口):
Intent intent = new Intent(this, OtherActivity.class);
Person p = new Person("张辽", 44);
intent.putExtra("p", p);
接收数据:
在OtherActivity 的onCreate()方法,通过 getIntent().get 相关的数据的方法来获取数据;
关闭时返回数据
基本流程:
使用startActivityForResult(Intent intent, int requestCode) 方法打开Activity;
重写onActivityResult(int requestCode, int resultCode, Intent data) 方法;
新Activity中调用setResult(int resultCode, Intent data) 设置返回数据之后,关闭Activity就会调用上面的onActivityResult方法;
2,2个Fragment之间有一个公共的桥梁---->Activity
Fragment与fragment通信
1) 当Fragment跟Activity绑定之后,在Fragment中可以直接通过getActivity()方法获取到其绑定的Activity对象,这样就可以调用Activity的方法了。在Activity中可以通过如下方法获取到Fragment实例
FragmentManager fragmentManager = getFragmentManager();
Fragment fragment = fragmentManager.findFragmentByTag(tag);
Fragment fragment = fragmentManager.findFragmentById(id);
获取到Fragment之后就可以调用Fragment的方法。也就实现了通信功能。
2)另外也可以调用fragment.setArguments(Bundle)方法,将数据绑定到Fragment域中。
可传输的数据类型: a.基本数据类型(数组), b. String(数组), c. Bundle(Map), d. Serializable(Bean), e.Parcelable(放在内存一个共享空间里);
基本类型:
Intent intent = new Intent(this, OtherActivity.class);
intent.putExtra("name", "张飞"); // 携带数据
intent.putExtra("age", 12);
startActivity(intent);
一捆数据:
Intent intent = new Intent(this, OtherActivity.class);
Bundle b1 = new Bundle();
b1.putString("name", "赵云");
b1.putInt("age", 25);
Bundle b2 = new Bundle();
b2.putString("name", "关羽");
b2.putInt("age", 44);
intent.putExtra("b1", b1);
intent.putExtra("b2", b2);
序列化对象(须实现序列化接口):
Intent intent = new Intent(this, OtherActivity.class);
Person p = new Person("张辽", 44);
intent.putExtra("p", p);
接收数据:
在OtherActivity 的onCreate()方法,通过 getIntent().get 相关的数据的方法来获取数据;
关闭时返回数据
基本流程:
使用startActivityForResult(Intent intent, int requestCode) 方法打开Activity;
重写onActivityResult(int requestCode, int resultCode, Intent data) 方法;
新Activity中调用setResult(int resultCode, Intent data) 设置返回数据之后,关闭Activity就会调用上面的onActivityResult方法;
2,2个Fragment之间有一个公共的桥梁---->Activity
Fragment与fragment通信
阅读全文
0 0
- Activity与Activity,Activity与Fragment及Fragment与Fragment之间传值
- Fragment与Activity之间传值
- Activity与Fragment之间的传值
- Activity与Fragment之间的传值
- Fragment与Activity之间传值
- Activity与Fragment之间的传值
- Activity与fragment之间交互
- activity之间,fragment之间,activity与fragment之间跳转
- Activity与Activity之间,Fragment与Fragment之间通过Bundle传值的研究
- Activity与Activity之间,Fragment与Fragment之间通过Bundle传值的研究
- Activity与Fragment,以及Fragment与Fragment之间的数据通讯
- Activity与Fragment,Fragment与Fragment之间的通信
- fragment与activity及两个fragment之间的跳转实现
- fragment与activity及两个fragment之间的跳转实现
- fragment与activity及两个fragment之间的跳转实现
- fragment与activity及两个fragment之间的跳转实现
- fragment与activity及两个fragment之间的跳转实现
- fragment与activity及两个fragment之间的跳转实现
- Hive、Hbase、mysql区别
- spring mvc学习
- Java数据类型转换
- mount 挂载点
- oracle sql rollback savepoint
- Activity与Activity,Activity与Fragment及Fragment与Fragment之间传值
- win10+anaconda3+tensorflow-gpu一些报错的解决方法
- threadReentranLockAndCondition
- 一种经典的邻接表的实现和遍历方式
- linux基本命令及操作14(磁盘加密、RAID、lvm)
- Spring实战笔记——Bean的高级装配
- 百练2806:公共子序列题解
- 12. 开发工具(make,makefile)
- python unicode转string