在Android适配器中通过值传递并通过引用传递?

时间:2017-01-13 07:33:39

标签: android arraylist android-recyclerview android-adapter

我将ArrayList从Activity传递给RecyclerView适配器。但也改变了适配器中活动变化值的价值。我怎么能避免这个?

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

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

1 个答案:

答案 0 :(得分:2)

因为您没有显示您的代码,所以我将使用示例

显示我的代码

创建适配器时,您可以通过适配器的构造函数将数据发送到适配器,如下所示:

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

希望这有帮助!