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的细节问题。 */

 

转载于:https://www.cnblogs.com/chase1/p/7168422.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值