最爱吃葡萄 2017-12-10 17:26 采纳率: 0%
浏览 1546

Android 数据绑定问题,RecyclerView绑定数据使用的model中又嵌套Model

比如数据是这样的
class AModel{
BModel b;
}

class BModel{
CModel c;
}

class CModel{
getName();
}

然后传入Adapter的model是A,所以 取得数据时调用为:a.getB().getC().getName();
但是这中间很可能出现为null的情况,所以我的做法是,if(a != null && a.getB() != null && a.getB().getC() != null && !TextUtils.isEmpty(a.getB().getC().getName())),有更好的办法吗??

  • 写回答

4条回答 默认 最新

  • Mr康 2017-12-10 17:42
    关注

    你是只需要C中的数据么?

    评论
  • 毙关 2017-12-10 17:58
    关注

    我觉得可以在判断的getClassX的时候加一个if(X==null){return new ClassX}.最后你其它地方判断的时候,就只需要判断getName是否为空就行了。

    评论
  • 钢碗打老虎 2017-12-14 11:45
    关注

    try catch 捕获空指针异常就行catch中处理空指针情况!

    评论
  • 钰娘娘 2017-12-28 22:27
    关注

    这个我有想法,可以这样写:

    class AModel{
    BModel b = null;
    BModel getBModel(){
        if(b == null)
            b = new BModel();
            return b;
    }
    }
    class BModel{
    CModel c = null;
    CModel getCModel(){
        if(c == null)
            c = new CModel();
            return c;
    }
    }
    class CModel{
    private String name;
    getName(){
        if(name==null)
        return "";
    }
    } 
    
    评论
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部