安卓如何将ArrayList的每一个数据拿出来转换成String类型?

发布网友 发布时间:2022-04-24 14:30

我来回答

1个回答

热心网友 时间:2023-10-16 11:22

如果Node是自己写的一个类那么只需要让Node实现Serializable序列化接口就行如果Node是某个api提供的一个类那么就修改不到,这时候可以把这个对象转换为其他形式再进行传输,比如json,最简便的就用Gson框架了ArrayList> data = new ArrayList>();Map nodes = new HashMap();nodes.put("node1", new Node());data.add(nodes);String jsonData = new Gson().toJson(data, new TypeToken>>(){}.getType());Intent intent = new Intent();intent.putExtra("data", jsonData);在接收方再使用Gson把json解析成对象String jsonData = getIntent().getStringExtra("data");ArrayList> data = new Gson().fromJson(data, new TypeToken>>(){}.getType());更简便的方法就是把data设置为全局变量,随处可以访问,但是这个方法不好总的来说,这种较大的对象不要使用intent来传输,intent只适合用来传输一些小数据,而且intent传输时有大小*的,为40K左右

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com