Derzeit habe ich eine "Playlist" von Videos, die ich auf die nächste Position (Video-Player) wechseln kann.Gelöst: Auto-Position von RecyclerView auswählen und markieren
Die RecyclerView hat diese voll Arraylist und blättern Sie zur nächsten Position wie folgt aus:
mLinearLayoutManager.scrollToPositionWithOffset(position, 10);
Perfect! Jetzt möchte ich AUTO SELECT (ich möchte hier keine Klicks haben ...) die aktuelle Position markieren und markieren.
Das Endprodukt sollte wie folgt aussehen:
und jedes Mal, wenn ich als nächstes auf dem Media-Player treffen, wird im nächsten Punkt (Position) blättern und den Hintergrund hervorzuheben.
Wie übergebe ich die Position an den Adapter, um die Position zum Hervorheben/Ändern des Hintergrunds zu erfahren? Denken Sie daran, dass es in dieser Aufgabe keine Klicks gibt und dass das Element die ganze Zeit hervorgehoben bleiben muss und sich nur ändert, wenn das nächste Video/Element/Position ausgewählt wird.
UPDATE:
Nur wenige Änderungen auf dem Adapter, um es
private int highlightItem = 0;
public void toggleSelection(int pos) {
this.highlightItem = pos;
}
toggleSelection(position)
von meiner Aktivität, wo ich Speicherung all die aktuelle Position der Zeit verwendet wird funktionieren.
Danach wird die letzte Veränderung in meinem Adapter war:
if (position == highlightItem) {
holder.mMainView.setSelected(true);
} else {
holder.mMainView.setSelected(false);
}
Danke, dass ich zur richtigen Lösung führt und hier werde ich das Update für alle mit dem gleichen Problem halten.
nette Lösung. Ich arbeite an etwas ähnlichem, aber ich stecke fest, weil das erste Element in meiner RecyclerView-Liste immer standardmäßig markiert ist, aber ich möchte nur, dass es markiert ist, wenn es ausgewählt ist. Irgendwelche Ideen zur Behebung: http://stackoverflow.com/questions/38818499/android-recyclerview-why-is-first-item-in-list-ready-selected – AJW
@AJW versuche initialisieren 'highlightItem' mit Wert von - 1, statt 0 – NarendraJi
Was ist 'holder.mMainView'? – NarendraJi