首页 > 代码库 > Fragment argument
Fragment argument
每个Fragment实例都可以附带一个Bundle对象,该bundle包含键值对,可以像附加extra到Activity的intent中那样使用他们。一个键值对即一个argument。
创建fragement argument,首先创建Bundle对象,然后,使用Bundle限定类型的“put”方法,将argument添加到bundle中。如以下代码所示:
Bundle args = new Bundle(); args.putSerializable(ARG_CRIME_ID,crimeId); CrimeFragment fragment = new CrimeFragment(); fragment.setArguments(args); return fragment;
fragment有两种方式获取保存在activity的intent内的数据信息 * 方式一:即直接在fragment中调用getActivity().getIntent()方法获取托管Activity的intent,然后为extra添加key,得到intent内的extra信息。 * 但该方法牺牲了fragment的封装性,fragment不再是可复用的构建单元,因为它总需要由某个具体activity托管着。 * 方式二:先创建Bundle对象,将activity的intent内的数据信息argument添加到bundle中,再调用Fragment.setArguments(Bundle)方法, * 因为每一个fragment实例都可附带一个Bundle对象。如下代码既是。 * * 注意:交互的activit和fragment不需要也无法同时保持通用独立性。托管activity就应该知道有关托管fragment方法的细节, * 但fragment则不必知道其托管activity的细节问题。 */
Fragment argument
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。