Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.
Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.
Erstmal solltest du die liste (Array) die du dem Adapter mitgibst in einer Instanzvariablen halten.
Damit du auch in der onActivityResult darauf zugreifen kannst und die Daten ändern kannst.
Und auch hier musst du das neu zeichnen des Recyclerview anstoßen und nicht in dem Adapter. Denn zu dem Zeitpunkt wo du das im Adapter machst werden die Daten noch nicht zurück sein.
Dazu bauschst du natürlich auch die Instanz von dem Adapter den du auch in einer Instanzvariablen halten solltest.
Ich habe da ein ViewModel hinzugefügt. Und natürlich die Beobachter.
Das sind drei Fragmente mit ViewPager in der Activity.
Beim ViewPager ist es ja so das die Fragmente schon vorgeladen werden und nicht erst in dem Moment erstellt werden wo du den Tab drückst oder swipest. Beim Swipe sind ja beide Fragmente zu gleichen zeit halb sichtbar. Also müssen sie schon Existieren.
Parameter überhabe mittels Bundle wie bei einen Intent der eine neue Activity startet geht hier also nicht. Denn die Fragment Methoden (onCreateView, onViewCreated ...) werden nicht beim Swipe nicht aufgerufen.
Ja mit (Interfase, Callback, Singleton) und Gedöns ist das auch etwas zumachen. Aber wenn es nun mal die Möglichkeit Viewmodel gibst sollte man sie auch nutzen.
Ich denke du willst das wenn auf einen listeneintrag geklickt wird eine Action ausgeführt wird.
Du in einen listener kommst.
Nur was willst du da in der Viewholder Klasse. Du willst einen Listerner der das recyclerview beobachtet. Ob ein Item von ihm geklickt wurde. Also muss der Listener auch auf dee Instanz von Recyclerview eingerichtet werden.
Was willst du jetzt mit einem intent?
Soll jetzt eine neue Activity gestartet werden wo du den Text anzeigen wilkst.
public boolean onQueryTextChange(String newText) {
JsonAdapter jsonAdapter = new JsonAdapter(arrayList); // sollte nicht immer wieder neu erstellt werden
recyclerView.setAdapter(jsonAdapter); // auch nicht immer wieder neu setzen in der Methode
jsonAdapter.getFilter().filter(newText);
Toast.makeText(getActivity(),jsonAdapter.getItemCount()+" Songs",Toast.LENGTH_SHORT).show();
return false;
}
});
Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen.Weitere InformationenSchließen