Activity传参

1、Activity与Activity之间参数传递


Activity传参_第1张图片


Activity传参_第2张图片

代码本身很简单,但是有几个需要注意的点:

1、传递参数是引用类型,最好使用bundle传递,直接intent传递serializable友盟有时候会报奇怪的错误;

2、传递引用类型需要序列化,一定要加上serialVersionUID,这是安全方面的,可以避免反序列化失败;

SerializableID 的自动生成步骤:

File -> Settings… -> Editor -> Inspections -> Serialization issues[在java类目下] -> Serializable class without ‘serialVersionUID’(选中)进入实现了Serializable中的类,选中类名,Alt+Enter弹出提示,然后直接导入生成 SerializableID;

3、接收使用intent和bundle的时候一定要进行非空判断,防止出现空指针错误;

2、Activity与Fragment之间参数传递


Activity传参_第3张图片
Activity传参_第4张图片

1、首先创建Fragment,注意引用v4包的Fragment向下兼容比较好,Activity继承FragmentActivity

2、Fragment中输入newInstance,自动联想生成这个方法,在onCreate方法里面接受Activity传递的参数(bundle使用前判null);

注:还有种activity向Fragment传递参数的方法,就是在Fragment中拿到activity的实例(getActivity()),调用Activity里面的方法,耦合度比较高,而且比较low;

感觉对您有帮助,不吝支持

你可能感兴趣的:(Activity传参)