问题:
Intent传递model到下一层页面,model里包含一个JsonArray对象
报错:
Snip20190614_2.png问题原因:
Intent不能传递对象
解决方法:
在网上搜了搜,多数提供的都是这个想法
Intent 传递数据是不支持传递对象的,如果要传递你需要序列化他,这样比较麻烦,有两个办法
1、采取静态变量的方法,在第2个页面直接使用。
2、将数据存储到数据库,在第二个页面去取。
3、使用一个中转的类,比如Application,将jsonArray存在里面,在另外一个类中取。
但是我的实际应用场景就是向下传递一个数据,这么处理,个人感觉比较麻烦(没有实际操作,只是感觉)
所以我就直接把它变成字符串,然后在下层解析:
RequestModel requestModel = dataList.get(position)
it.putExtra("requestModel", new Gson().toJson(request));
startActivity(it);
在下层页面解析:
String requestModelString =getIntent().getStringExtra("requestModel");
RequestModel requestModel = new Gson().fromJson(requestModelString, RequestModel.class);
网友评论