2017-12-13 8 views
1

Ich erstelle eine Galerie-App, um verschiedene Medien (Videos und Bilder) anzuzeigen und durch sie zu gleiten. Das Problem ist, wenn ich Videos nebeneinander habe. Wenn ich schiebe, läuft das Video weiter und hört nicht auf.Videogalerie mit ViewPager

Ich implementiere ViewPager in einem Activity ohne Fragment. Ich erweitere PagerAdapter von meinem benutzerdefinierten Adapter. Offenbar in Fragmente die Lösung dieser Methode außer Kraft zu setzen ist:

void setUserVisibleHint(boolean isVisibleToUser)

aber wie kann ich diese Funktionalität erreichen, ohne Fragmente mit meinem ViewPager

Antwort

0

EDIT

zu verwenden, können Sie nicht . Anscheinend können Sie einen ViewPager ohne Fragmente verwenden, aber Sie müssen Code Komplexität hinzufügen, die ich nicht brauche, da Sie bereits FragmentPagerAdapter und FragmentStatePagerAdapter haben. ViewPager ist so konzipiert, dass Ansichten "lebendig" bleiben, damit sie bei einem Swipe-Ereignis nicht neu gezeichnet werden müssen. Ich kann mehr Möglichkeiten, denken Sie an Ihr Problem zu lösen:

  1. ein FragmentStatePagerAdapter verwenden, weil Ihr Anwendungsfall erscheint es geeignet zu sein (die Dokumentation lesen).

  2. Legen Sie Ihre viewPager-Instanz mit setOffscreenPageLimit(1) fest, obwohl es so aussieht, als ob 1 die Standardeinstellung ist.

  3. Implementieren Sie in Ihrer Aktivität ViewPager.OnPageChangeListener, und wenn ein Fragment nicht mehr sichtbar ist, stoppen Sie das Video selbst.

Verwandte Themen