美文网首页
Intent传递对象

Intent传递对象

作者: 子非鱼7868 | 来源:发表于2019-06-14 13:36 被阅读0次

    问题:

    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);
    

    相关文章

      网友评论

          本文标题:Intent传递对象

          本文链接:https://www.haomeiwen.com/subject/txyufctx.html