Android-refresh listview-adapter von einer anderen Aktivität
Googelte ich viel, kann aber nicht finden, die richtige Antwort.
Habe ich zwei Aktivitäten. Jeder, der die Aktivitäten 'hat' eine listview.
Jeden listviews haben eine benutzerdefinierte ArrayAdapter. Also :
Aktivität 1 ----> Listview 1 ------> benutzerdefinierte ArrayAdapter 1
Aktivität 2 ----> Listview 2 ------> benutzerdefinierte ArrayAdapter 2
Wenn ich eine Taste drücken in Aktivität 1, dann frischt es den Listview-1 (es adapter).
Das Ziel ist : ich muss ein refresh auf Listview-2 zu diesem Zeitpunkt. Wie kann ich das erreichen ? Ich habe etwas gelesen über Rundfunk, aber nicht gut verstehen.
Danke !
- Welche Art von content haben Sie in den Adapter? Ich denke, dass Sie Inhalte teilen. Wenn Sie Inhalte zwischen den Adaptern ist es wahrscheinlich nur eine Sache von der Benachrichtigung über die änderung, wie Waqas sagt. Schauen Sie sich meine Antwort an stackoverflow.com/questions/9333790/... Im wesentlichen, sollten Sie nicht auf die tatsächlichen-adapter, die von anderen Aktivitäten, denn er führt zu enge Kopplung und potenzielle Datenlecks.
- Danke. Ich habe deine Antwort gelesen. Es ist ziemlich genial, aber jetzt bin ich nur das erlernen der Programmierung in Android, so jetzt Waqas ist genug für mich. Danke!!!
InformationsquelleAutor Wyzard | 2012-02-24
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie in Activity1, es ist sinnlos, zu versuchen, zu aktualisieren Activity2's listview, da es nicht sichtbar ist. Jedoch, was Sie tun können, ist, wenn der Benutzer gewechselt wird Activity2, rufen Sie einfach den adapter
notifyDataSetChanged()
im onResume() Methode und Ihre Activity2 aktualisiert.Hinzufügen listView als Globale variable in den einzelnen Aktivitäten und machen es der öffentlichkeit statisch.
Dann einfach anrufen, wenn Sie es brauchen.
z.B. in activity1, rufen Sie die folgenden lassen die Liste in activity2 aktualisieren