从CrimeListFragment带附加信息跳转到CrimeActivity,并把附加信息给CrimeFragment
来源:互联网 发布:三维动画演示软件 编辑:程序博客网 时间:2024/05/17 11:37
点击CrimeListFragment的单项跳转到CrimeActivity
用Fragment.startActivity(Intent)或Fragment.startActivityForResult(intent,requestCode)
CrimeActivity.java
public static Intent newIntent(Context context, UUID crimeId) { Intent intent=new Intent(context,CrimeActivity.class); intent.putExtra(CRIME_ID,crimeId); return intent; }
CrimeFragment需要知道crimeId
方法1:将crimeId作为intent的附加信息,再CrimeFragment中getActivity,再getIntent,再利用键值(注意这个键值是定义在CrimeActivity里的)获得附加信息
这样的方法虽然简单但破坏了fragment的封装型(被特定activity托管,并在其中使用了特定activity才有的键值),CrimeFragment不再是可复用的构建单元,不可用于其他activity
方法2:每个fragment实例都可附带一个Bundle对象
Bundle对象中的一个键值对即一个argument
要在fragment创建后,添加给activity之前,使用
Fragment.setArguments(Bundle)
CrimeFragment.java
public static CrimeFragment newInstance(UUID crimeId) { Bundle bundle=new Bundle(); bundle.putSerializable(CRIME_ID_BUNDLE,crimeId); CrimeFragment fragment=new CrimeFragment(); fragment.setArguments(bundle); return fragment; }
CrimeActivity.java
@Override protected Fragment createNewFragment() { //注意这里要强转一下 UUID crimeId=(UUID)getIntent().getSerializableExtra(CRIME_ID); CrimeFragment fragment=CrimeFragment.newInstance(crimeId); return fragm t; }
startActivity后打开CrimeActivity,然后会在newCrimeFragment方法里调用CrimeFragment的newInstance方法,在这个方法中会处理好argument然后创建fragment
然后再CrimeFragment的onCreate方法中,通过getArguments得到Bundle然后获得附加信息
- 从CrimeListFragment带附加信息跳转到CrimeActivity,并把附加信息给CrimeFragment
- django附加额外信息到user
- 二进制文件读写附加信息
- ExifInterface图片附加信息
- 转]Oracle如何附加数据库 (从远程计算把数据库信息剪到本地)
- curl_easy_getinfo() -- 从 curl 句柄里获得附加信息
- curl_easy_getinfo() -- 从 curl 句柄里获得附加信息
- 附加功能-----发布交友信息
- 把数据保存到数据库附加表 `dede_addonarticle` 时出错,请把相关信息提交给DedeCms
- 把数据保存到数据库附加表 `dede_addonarticle` 时出错,请把相关信息提交给DedeCms官方
- 把数据保存到数据库附加表 `dede_addonarticle` 时出错,请把相关信息提交给DedeCms官方
- 自动增加附加信息--如版权信息
- IE Firefox 在进行某些跳转时请求头中不会附加 Referer 字段信息
- webclient上传文件和附加信息
- 树莓派附加实验1-------解释启动信息
- 附加功能---显示词库的分类信息
- 融云会话里添加附加信息
- 官方NotePad实例学习--带附加信息并且有返回值的显式Intent
- codeforces869C
- 【LeetCode】C# 6、ZigZag Conversion
- 素数筛法以及其并行优化(MPI)
- ubuntu 安裝mysql
- bzoj 4417: [Shoi2013]超级跳马
- 从CrimeListFragment带附加信息跳转到CrimeActivity,并把附加信息给CrimeFragment
- 区块链笔记
- 如何利用Construct 2制作一个简单的游戏
- 路德《致全德市长及地方议会参议员的信》
- react-native三种创建组建的方式
- openstack heat部署redis_cluster
- mysql |那些关于第二大的事
- iTunes连不上iphone
- linux指定定时脚本清理缓存车看内存使用情况