2017-05-26 14 views
0

Das klingt vielleicht etwas kompliziert, aber was ich will ist einfach! Ich habe eine RecyclerView und jedes Element hat ein Löschen Button. Wenn ich den Knopf in jedem Gegenstand drücke, wird der entsprechende Gegenstand von RecyclerView entfernt. und jetzt möchte ich diese entfernten Artikel in einem anderen Layout in einem anderen RecyclerView zeigen!Artikel zu RecyclerView hinzufügen von anderem entfernt RecyclerView item

Das ist mein RecyclerView, dass ich die Elemente aus den einzelnen ButtonClick entfernen:

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

und ich habe jetzt andere RecyclerView mit DataList. Ich möchte jeden entfernten Artikel hinzufügen, der automatisch zu dieser neuen DataList hinzugefügt wird.

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

} 

Jede Hilfe wäre willkommen!

+1

sind RecyclerViews in einer oder zwei Aktivitäten Möchten Sie Daten von Ihrem Adapter an eine andere Aktivität senden? – pouya

+0

Hallo! jeder recyclerviews sind in unterschiedlicher Aktivität –

+0

Hi @FajarKhan, ich denke, Sie brauchen eine Lösung, um die gelöschten Elemente, wie Singleton, sogar gemeinsame Präferenz zu speichern. –

Antwort

0

Sie können das gleiche zu Ihrem nächsten RecyclerView tun. Sie können das Element zu Ihrem Datensatz hinzufügen und dann notifyItemInserted aufrufen, indem Sie die Position der neuen Daten übergeben.

0

Ich rate, beide Objekte sind die gleichen, d. H. Objekt hinzugefügt und entfernt werden. In diesem Fall können Sie sonmethinhg so tun, rufen Sie diese setDataListItems(mFeedList.get(newPosition)) vor mFeedList.remove(newPosition); diese Zeile

und ändern Sie SetDataListItems, um dies zu mögen.

setDataListItems(PendingModel removedItem){ 
mDataList.add(removedItem)) 
adapterOfDataList.notifyDataSetChanged(); 
} 
0

Sie gelöschte Objekte für Ihre anderen Aktivitäten gespeichert werden sollte Ich denke, die beste Lösung für Sie wäre eine zusätzliche Spalte zu Ihrer Datenbank nennen wir es Status das Hinzufügen, und legen Sie das Feld für diejenigen gelöscht, die gelöscht werden.

aber die Alternative ist mit SharedPrefrences wie folgt aus:

SharedPreferences.Editor editor = sharedpreferences.edit(); 

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

und setzen Sie den Code oben in Ihrem removeItem Methode in Ihrem Adapter und danach diese in Ihren anderen Aktivität bekommen. Verwenden Sie this question für weitere Details.