2017-04-12 4 views
-2

Ich erhalte Daten von json in listview. Wenn ich auf Listenansicht klicke, öffnet sich eine weitere Aktivität mit Artikeldetails. In dieser Aktivität habe ich Button Add-to-Cart. Nach dem Klick auf Add-to-cart button will ich Aktivität, die Produkt WarenkorbSo fügen Sie ein Produkt in den Warenkorb ein und rufen es in einer anderen Aktivität in die Listenansicht auf

This is my list view, In listview

This is my details activity

Jetzt, nach einem Klick auf add_to_cart Knopf drücken möchte ich in den Warenkorb um dieses Produkt schieben. Wie kann ich das machen.

+2

Produkt in den Warenkorb legen ist nichts nur speichern das Produkt in der Datenbank, bis Benutzer dieses Produkt kaufen oder das Produkt zu stornieren – Lokesh

+0

Verwenden Sie Sqlite oder Realm db zum Speichern von pro Kanäle im Warenkorb. Erstellen Sie einen Tischwagen mit Produkt-ID, Menge und anderen Attributen. – EugenUngurean

+0

Wie Sie so weit gekommen sind, ohne Java-Objekte zu verstehen, ist über mich hinaus, aber Sie wollen eine zentrale Datenstruktur, die von allen Ihren Bildschirmen mit Produkten oder "in den Warenkorb" aktualisiert werden kann und dann nur in einen Adapter von etwas sortieren und an eine Listview- oder Recycler-Ansicht anhängen. Leute vor mir erwähnten DBs, das klingt nach einem Plan, wenn Sie möchten, dass Ihr Benutzer seine Wagen persistiert, aber wenn Sie möchten, dass er beim Schließen der App verschwindet, könnten Sie ihn wahrscheinlich einfach im Speicher ablegen. Ich würde sagen, du solltest nachsehen, wie man einen Warenkorb zur Android App hinzufügt und du wirst viele Möglichkeiten sehen –

Antwort

0

Wenn Sie Event in irgendwo auslösen möchten und es Aktionen gibt, wird es erhalten und dann seine Sachen tun. Sie Hörer verwenden können, RXjava, EventBus ich in Ihrem Fall denke, die einfache Möglichkeit, EventBus wird es

https://github.com/greenrobot/EventBus

nur Ihre Veranstaltung erstellen wie DeleteProductEvent dann poste mit EventBus.getDefault().post(new DeleteProductEvent()); dann können Sie damit umgehen in Ihrem Liste Aktivität von @Subscribe(threadMode = ThreadMode.MAIN)
public void onMessageEvent(DeleteProductEvent event) {*handle what do you want *};

Verwandte Themen