1

Ich muss einen Weg für eine Recyclerview finden, um ein Fragment zu erzählen, wenn eine bestimmte Art von Beitrag auf dem Bildschirm angezeigt wird. Ich habe Probleme, eine verallgemeinerte Methode zu entwickeln, um zu bestimmen, ob und wie viele Videobeiträge zu irgendeinem Zeitpunkt auf dem Bildschirm angezeigt werden. Was ich will ist, dass das Fragment zumindest weiß, wann eine Videopost (zusammen mit ihrem Status) auf dem Bildschirm ist, so dass die Aktivität aus dem Porträtmodus freigeschaltet werden kann, so dass das VideoView bei Rotation den gesamten Bildschirm statt eines kleinen aufnimmt Teil davon (vorausgesetzt, das Video spielt). In Anbetracht der Situation, in der mehr als ein Videobeitrag angezeigt wird, möchte ich, wenn einer gestartet wird, während der andere gerade spielt, den einen abspielen und den anderen Videobeitrag mit dem Abspielen beginnen. Die Logik zum Steuern der Videowiedergabe befindet sich in der Viewholder-Klasse. Wie würde ich diese Funktionalität einrichten?RecyclerView.ViewHolder Kommunikation mit Fragment

+0

Wahrscheinlich ist Ihre beste Wette, um Rückrufe zu machen. Sie implementieren eine Schnittstelle auf Ihrem Fragment und übergeben ti über den RecyclerView.Adapter an den ViewHolder. Wenn das Video abgespielt wird, kann der Betrachter das Callback aufrufen und das Fragment wissen lassen, dass das Video abgespielt wird und welches Video gerade abgespielt wird, wenn Sie beispielsweise IDs haben. –

Antwort

0

Die Verwendung einer Schnittstelle war der Weg zu gehen. Ich habe auch nach EventBus gesucht, aber anscheinend werden diese Mechanismen verwendet, wenn Sie eine Komponente haben, die Nachrichten an mehrere Empfänger sendet (im Gegensatz zur Implementierung eines Listeners, der für eine Eins-zu-eins-Verbindung steht).

Verwandte Themen