在 Android 适配器中按值传递和按引用传递?

Pass by Value and Pass by Reference in Android Adapter?

我正在将 ArrayList 从 Activity 传递到 RecyclerView 适配器。但是改变 activity 中的值也会改变适配器中的值。我怎样才能避免这种情况?

List<Object> objectList = Collections.synchronizedList(new ArrayList<Object>());

        public RecyclerViewAdapter(Context context,List<Object> commentDatas) {
            mContext = context;
            commentDataList = commentDatas;
}

因为你没有展示你的代码,所以我会用例子展示我的代码

创建 Adapter 时,您通过 Adapter 的构造函数将数据发送到 Adapter,如下所示:

List<MyObject> list;

public RcvAdapter(List<MyObject> list, Context context) {
        this.list = list;
        this.context = context;
    }

如果您想解决您的问题,请执行以下操作:

List<MyObject> list = new ArrayList<>();

    public RcvAdapter(List<MyObject> list, Context context) {
            this.list.addAll(list);
            this.context = context;
        }

希望对您有所帮助!