KONTEXT: Ich habe eine Aktivität, 4 Fragmente und ein ViewPager (jede Seite besteht aus einem Fragment). Jedes Fragment enthält eine Liste von kurzen Tönen (jeweils max. 5 Sekunden). Das erwartete Verhalten ist: Wenn der Benutzer auf einen Sound auf einer bestimmten Seite klickt und der Sound nicht abgespielt wird, wird der Media Player freigegeben, wenn der Benutzer zu einer anderen Seite wischt, wodurch der Sound nicht mehr abgespielt wird.Freigabe Media Player in Android ViewPager auf Swipe
PROBLEM: Wenn nach links oder rechts beim Streichen, das Verfahren onPause oder OnStop nicht aufgerufen werden (da die viewPager definitions lädt der aktuellen, die vorherige und die nächste Seite), so dass der Media Player den Ton von den Spielen Die letzte Seite hört beim Wischen nicht auf.
RESEARCH: ich eine Menge auf mehr Beiträgen gesucht habe, im Zusammenhang mit onPageChangeListener
, setOffScreenPageLimit
, Set Mediaplayer nicht in Fragmente, sondern in der Aktivität (nicht in meinem Fall, da ich Listen von Klängen mit Adapter). Hier sind einige Links, die ich recherchiert, aber nicht lösen mein Problem: ViewPager swipe previous sound, Multiple video players in viewpager in android, Android MediaPlayer on ViewPager blocking UI transition and no callback for initial page loads, How to handle MediaPlayer object inside a fragment inside view pager, Using Viewpager with MediaPlayer
VORSCHLÄGE?: Wenn Sie Vorschläge haben, wie Sie dieses Problem angehen können, wäre es sehr geschätzt! Vielen Dank!
Sie sagen "Sie können den Hörer einstellen, wenn Sie die Seite anhängen", aber alle meine 4 Seiten (die 4 Fragmente) werden über einen Adapter hinzugefügt. Können Sie bitte ein Code-Snippet zur Klärung Ihres Vorschlags anbieten? –
Leider funktioniert es nicht. Ich habe '' 'implementiert ViewPager.OnPageChangeListener''' in Fragmenten, aber die Methoden werden nicht ausgelöst ... –