Java中引用传值问题

本文探讨Java中参数传递的问题,特别是引用类型的传递。通过一个关于RecyclerView适配器的案例,解释了如何理解引用传值,以及如何解决因误解参数传递导致的错误。文章详细介绍了基本数据类型和引用数据类型的参数传递区别,并通过实例代码说明了引用类型的参数如何影响对象。最后,文章提供了解决案例问题的方法,即直接修改适配器中的引用。
摘要由CSDN通过智能技术生成

一图胜万言(配上一张启舰大神的图,一个自定义控件写的很吊的大神):


这几天一直在写一个项目,果然只搞理论是不行的,距离上一次写项目已经快有半年了,今天无论是效率还是熟练度都大不如前,》》》

好了言归正传,今天要说的这个问题其实很简单——在java中的参数传递问题。(其实我承认,这个地方我只是知道对象传引用、普通类型传值,典型的理论派-。+),但是这个问题可大可小,我觉得还是要把这些缕得清清楚楚才好。

问题起源,一个蠢到家的是失败案例

其实今天写这篇文章完全是咋呼-。+,恰好是因为自己在做RecyclerView的万能适配器的时候出现的问题,先给大家引入一下当时的场景:

    @Override
    public void resultCallbackFromFragment(List<Contact> list) {
        Toast.makeText(this, "修改成功!", Toast.LENGTH_SHORT).show();
        ......
        contactList = list;
        adapter.notifyDataSetChanged();
        ......
    }

只留下了我们设计的代码,其他部分的代码全部打……了。接下来我用极其简单的组织语言介绍一下场景:

打开一个具有复选框的界面,退出时返回选中的数据,方法为一个回调方法,方法的效果是更新列表数据(contactList为我们传入RecyclerView的源数据)。

理论上说先给contactList更新为获取到的最新的值,然后调用notifyDataSetChanged方法,列表就刷新了,看上去一切都是那么的圆满。然后我们看一下效果:


不要吐槽这个App背景,因为是给我的小仙女做的-。+!

在上面的效果中,我们看到,在选中了两个联系人,点击确定

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值