Uso un ViewPager con molte WebViews, è per mostrare un ePub. Il mio problema è che le WebViews sono solo renderizzate/caricate (non sono abbastanza sicuro) se la loro pagina corrispondente diventa visibile. Dopodiché la pagina non ha bisogno di essere rieseguita fino a quando non viene distrutta da ViewPagerAdapter. La conseguenza è che c'è sempre una pagina bianca per un po '. Come posso pre-renderizzare la pagina che scorre alla successiva webView (che non è stata renderizzata prima).Le visualizzazioni Web in ViewPager non vengono caricate/rese finché non viene visualizzata la pagina
Questo è il mio PagerAdapter:
public class MagazineReaderPagerAdapter extends PagerAdapter {
private MagazineReaderActivity activity;
private EpubDocument epub;
public MagazineReaderPagerAdapter(Context ctx, EpubDocument epub)
{
activity = (MagazineReaderActivity) ctx;
this.epub = epub;
}
@Override
public int getCount() {
return epub.getContentDocuments().size();
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
ReaderWebViewMulti view = new ReaderWebViewMulti(activity);
view.loadContentDocument(epub.getContentDocuments().get(position), epub);
((ViewPager) container).addView(view, 0);
return view;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view.equals(object);
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
((ViewPager) container).removeView((View) object);
}
}
ReaderWebViewMulti si estende da ind WebView implementa un metodo di wich loadContentDocument carica il contenuto tramite loadDataWithBaseURL.
edit: Alla fase-OnCreate setOffscreenPageLimit è impostato su 3
viewPager.setOffscreenPageLimit(3);
sottolineare quale sia il problema, ho fatto un po 'di video su YouTube
Dalla seconda 4 si può vedi che ogni pagina è appena renderizzata quando è già visibile. Quando torno tutto va bene.
Qual è il 'offscreenPageLimit' per il' ViewPager' attualmente impostato su? – Devunwired
è impostato su 3, ho aggiunto questo al testo – Mate
Ho esattamente lo stesso problema ... Ho eseguito il debug e crea i frammenti fuori schermo, ma quando faccio scorrere la pagina, non viene visualizzato fino a quando la pagina non viene visualizzata Scorri: S –