一 前言

Fragment学习(一)中学习了怎么传递基本数据类型和String。但是对于我们自定义的数据类型来说,应该怎么传递呢?
有两种方式,第一种是实现Parcelable接口,第二种是实现Serializable接口
Serializable接口的实现据说非常的简单,只需要声明一下即可。
但是Parcelable接口的序列化效率要高于Serializable接口。
考虑到我自己要传递一个比较大的ArrayList,我决定学习一下Parcelable

参考资料:
android开发之Parcelable使用详解
Android中的Parcelable详解
Activity传递对象集合到Fragment

二 实践

说是困难,其实并不。

2.1 bean类实现Parcelable

把bean类 implements Parcelable 之后,IDE会出现一大堆提示,一通Alt+Enter之后就完成了bean类的Parcelable化。
我只能说:Google牛逼,JB牛逼。
项目实践-Fragment学习(三) - 实现Parcelable

2.2 使用实现了Parcelable接口的bean类

	ArrayList<Message_List_item> items; //成员变量
	
    public static MessageFragment newInstance(ArrayList<Message_List_item> items) {
        MessageFragment fragment = new MessageFragment();
        Bundle bundle = new Bundle();
        bundle.putParcelableArrayList(KEY_MESSAGE, items);
        fragment.setArguments(bundle);
        return fragment;
    }
    
    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        items = getArguments().getParcelableArrayList(KEY_MESSAGE);
    }

后记

写这篇的时候在听我健哥哥唱歌,太酥酥酥酥了。天哪,在那唱什么“可我舍不得 舍不得今生与你错过”
呜呜呜 这种靡靡之音 呜呜呜 太好听了八!

相关文章:

  • 2022-02-17
  • 2021-06-16
  • 2021-04-01
  • 2021-05-08
  • 2022-03-08
猜你喜欢
  • 2021-10-16
  • 2021-07-18
  • 2021-06-26
  • 2021-07-29
  • 2021-09-03
  • 2022-12-23
  • 2021-05-29
相关资源
相似解决方案