Ich habe eine Frage zum Weitergeben von angeklickten Kartenansichtsdaten an Aktivitäten und hier die ganze Geschichte:
Ich habe eine Aktivität namens "Details", die 2 TextViews im Layout enthält, Titel & amp; Beschreibung.
Ich habe ein Fragment (tab_1) eingerichtet, das die recyclerview codes und die items enthält, wobei jedes Element folgendes enthält: title & amp; Beschreibung.
Was ich will:
Wenn der Benutzer auf das Element klickt, wird die Aktivität Details geöffnet und der Titel des Layouts Details mit angeklicktem Elementtitel und derselbe für die Beschreibung geändert.
Ich habe versucht, die andere Aktivität als Beispiel zu erstellen, und habe die Absicht, sie zu starten, plus "addOnTouchlistener" dank Stackoverflow hinzugefügt, ich habe den Weg gefunden, es zu machen.
Also, wie kann ich das lebendig machen? Ich habe viele Möglichkeiten der verfügbaren Antworten auf Stackoverflow ausprobiert, aber alle funktionieren nicht oder nicht im Zusammenhang mit meiner Anfrage.
Hier sind meine Dateien:
itemsdata.java:
%Vor%tab_1.java (Fragment)
%Vor%Details Aktivität:
%Vor%BEARBEITEN: Ich habe es geschafft, ich habe eine Schaltfläche hinzugefügt, die das Fragment öffnet, und die Daten im Adapter übergeben, aber ich will es über tab_1.java, nicht den Adapter, ich meine, ich möchte klicken das Element, um das Fragment zu öffnen, nicht auf einer Schaltfläche, hier ein Snap aus meinem Adapter-Code (ich habe es in OnBindViewHolder hinzugefügt)
Ich habe ein OnClick eingerichtet und das Vew.setOnClick ..etc implementiert, aber wenn ich auf das Element klicke, passiert nichts.
%Vor% Erstellen Sie einen Interface
in Ihrem Adapter, der methods
enthält. Und während Sie Ihren Adapter implementieren, werden diese Methoden in Ihrer Aktivität implementiert und Sie können die gewünschten Aktionen ausführen.
Sie können dies auf Ihrem onItemClick () versuchen
Intent i = new Intent(view.getContext(), DetailsActivity.class);
i.putExtra("title", yourTitle);
i.putExtra("description", yourDescription);
view.getContext().startActivity(i);
und wenn Sie in Ihrer DetailActivity oncreate sind, tun Sie dies
String title = getIntent().getStringExtra("title");
String description = getIntent().getStringExtra("description");
, damit Sie Titel und Beschreibung an DetailActivity
übergeben könnenAls Erstes machen Sie Ihr "itemsdata" -Objekt, um Parcelable zu implementieren. Sie können es hier überprüfen. In Ihrer onItemClick-Methode übergeben Sie das Objekt mithilfe von intent.putExtra an Ihre Details-Aktivität ("key", listOfDataItems.get (position)); In Ihrer DetailsActivity können Sie Ihr benutzerdefiniertes Objekt mit getParcelable ("key")
abrufenTags und Links java android android-fragments android-recyclerview android-cardview