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

时间:2019-03-16 15:34:12

标签: android android-intent arraylist android-recyclerview custom-object

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

谢谢!

2 个答案:

答案 0 :(得分:1)

您不会将整个RecyclerView对象传递给另一个Activity。只传递ArrayList 怎么样?您可以使用GSON来做到这一点: 如何将Gson序列化的对象传递给Android中的Intent? 当然,您可以重用相同的RecyclerView Adapter类。您只需要在两个活动中分别实例化它。

答案 1 :(得分:0)

您不需要两项活动。您可以通过一项活动来实现您的目标。 您可以在适配器内使用诸如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
    }