Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 什么';使用Intent将整个recyclerview传递给另一个活动的最佳方式是什么?_Android_Android Intent_Arraylist_Android Recyclerview_Custom Object - Fatal编程技术网

Android 什么';使用Intent将整个recyclerview传递给另一个活动的最佳方式是什么?

Android 什么';使用Intent将整个recyclerview传递给另一个活动的最佳方式是什么?,android,android-intent,arraylist,android-recyclerview,custom-object,Android,Android Intent,Arraylist,Android Recyclerview,Custom Object,我的一个活动中的RecyclerView由我的自定义对象的ArrayList组成。由于此活动处于编辑模式,我想将此RecyclerView的所有内容传递到另一个处于非编辑模式的活动中。实现这一目标的最佳方式是什么 谢谢 您不会将整个回收视图对象传递给另一个活动。把你的ArrayList传递一下怎么样?您可以使用GSON实现这一点: 当然,您可以重用相同的RecyclerView适配器类。您只需要在两个活动中分别实例化它 你不需要两项活动。你可以通过一项活动实现你的目标。 您可以在适配器内使用一

我的一个活动中的RecyclerView由我的自定义对象的ArrayList组成。由于此活动处于编辑模式,我想将此RecyclerView的所有内容传递到另一个处于非编辑模式的活动中。实现这一目标的最佳方式是什么


谢谢

您不会将整个
回收视图
对象传递给另一个
活动
。把你的
ArrayList
传递一下怎么样?您可以使用GSON实现这一点:


当然,您可以重用相同的
RecyclerView适配器
类。您只需要在两个
活动中分别实例化它

你不需要两项活动。你可以通过一项活动实现你的目标。 您可以在适配器内使用一些标志,如
isEditMode
。它将用于适应特定模式的接口。 当您需要更改模式时--只需更改
isEditMode
字段,然后调用
adapter.notifyDataSetChanged()

注意。您还需要更改适配器的方法
onBindViewHolder
,以对模式更改做出反应。比如:

@Override
public void onBindViewHolder(@NonNull K holder, int position) {
    if (isEditMode) {
        // Set up item for edit mode
    } else {
        // Set up item for non-edit mode
    }