Ho un viewpager con diversi frammenti, uno di questi ha una videoview in esso. Se cambio pagina quando il video è in riproduzione, riproduce i remake anche quando sono su una pagina diversa. Ho provato l'attuazione di un OnPageChangeListener per la ViewPager come questo:VideoView su Viewpager, interruzione video quando si cambia pagina
viewpager.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int position) {
if(position!=mAdapter.getCount()-1){
MultimediaFragment frag = (MultimediaFragment)mAdapter.getItem(position+1);
frag.onPageIsChanged();
}
if(position != 0){
MultimediaFragment frag = (MultimediaFragment)mAdapter.getItem(position-1);
frag.onPageIsChanged();
}
}
Con onPageIsChanged() essendo un metodo tutto mio, che cerca di raccontare la mia attributo VideoView di fermarsi e di nascondere i controlli:
public void onPageIsChanged() {
if(mVideoView!=null){
if(mVideoView.isPlaying()){
mVideoView.stopPlayback();
}
mMedia.hide();
}
}
Il problema è che mVideoView è sempre nullo, anche quando viene riprodotto sullo sfondo. Questa videoview viene creata sul metodo OnCreateView del frammento, ma non dovrebbe rimanere impostata sul mio campo mVideoView fino a quando il frammento non viene distrutto?
Ciao, voglio chiedere se risolvi questo problema, puoi darmi un aiuto, per favore? –