从其他已删除的RecyclerView项目向RecyclerView添加项目

时间:2017-05-26 08:45:34

标签: android arraylist android-recyclerview

这可能听起来有点复杂但我想要的很简单!我有一个RecyclerView,每个项目都有一个删除Button。当我按下每个项目中的按钮时,相应的项目将从RecyclerView中删除。现在我想在另一个布局中将这些删除的项目显示到另一个RecyclerView中!

这是RecyclerView,我从每个ButtonClick删除了项目:

 holder.Btn_Remove.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    mFeedList.remove(newPosition);
                    notifyItemRemoved(newPosition);
                    notifyItemRangeChanged(newPosition,mFeedList.size());
                }
            });

现在我有RecyclerView的其他DataList。我想添加每个已删除的项目,以便自动添加到新的DataList

 private void setDataListItems(){
        mDataList.add(new PendingModel("#198" , "Pizza Hut", "Time : 08.00 ","sector 15", currentDateTimeString, OrderStatus.ACTIVE,0.00));

}

任何帮助将不胜感激!

3 个答案:

答案 0 :(得分:0)

您可以对下一个RecyclerView执行相同操作。您可以将该项添加到数据集中,然后调用notifyItemInserted传递新数据的位置。

答案 1 :(得分:0)

我猜两个对象是相同的,即要添加和删除的对象。在这种情况下,您可以像这样做sonmethinhg,在Sub sbCopyRangeToAnotherSheet() temp = ActiveSheet.Index Sheets(temp).Select Range("A15:E188").Select Selection.ClearContents Range("A15").Select 'Sheets("FCI").Select 'ActiveSheet.Range("C51").Select 'Copy the data 'For k = 1 To ActiveWorkbook.Worksheets.Count Worksheets(temp).Activate Sheets(temp).Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlDown)).Select Selection.Copy 'Activate the destination worksheet Sheets(temp).Activate 'Select the target range Range("A15").Select 'Paste in the target destination Sheets("FCI").Select Range("A15").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlDown)).Select 'Next End Sub 此行之前调用此setDataListItems(mFeedList.get(newPosition))

并将setDataListItems改为这样。

mFeedList.remove(newPosition);

答案 2 :(得分:0)

你应该为你的其他活动存储已删除的项目我认为最好的解决方案是在数据库中添加一个额外的列,让我们称之为状态,并为删除的那些字段设置该字段。

但替代方法是使用SharedPrefrences,如下所示:

SharedPreferences.Editor editor = sharedpreferences.edit();

        editor.putString(Name, n);
        editor.putString(Phone, ph);
        editor.putString(Email, e);
        editor.commit();

并将上面的代码放在适配器中的removeItem方法中,然后在其他活动中获取这些代码。使用this question了解更多详情。