X-Git-Url: https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fcom%2Fstoutner%2Fprivacybrowser%2Fadapters%2FWebViewPagerAdapter.java;fp=app%2Fsrc%2Fmain%2Fjava%2Fcom%2Fstoutner%2Fprivacybrowser%2Fadapters%2FWebViewPagerAdapter.java;h=52e7234536a22a244cc232b9788112d79c9f7d29;hp=a3095617cde308fbb1e0d0b67cfb2cf3257f11f3;hb=aba828cabddd0a277271c90816b50292bb64baf1;hpb=910384b70345665330b547698d68df426f70cf4e diff --git a/app/src/main/java/com/stoutner/privacybrowser/adapters/WebViewPagerAdapter.java b/app/src/main/java/com/stoutner/privacybrowser/adapters/WebViewPagerAdapter.java index a3095617..52e72345 100644 --- a/app/src/main/java/com/stoutner/privacybrowser/adapters/WebViewPagerAdapter.java +++ b/app/src/main/java/com/stoutner/privacybrowser/adapters/WebViewPagerAdapter.java @@ -20,6 +20,7 @@ package com.stoutner.privacybrowser.adapters; import android.os.Bundle; +import android.os.Handler; import android.widget.FrameLayout; import androidx.annotation.NonNull; @@ -115,7 +116,7 @@ public class WebViewPagerAdapter extends FragmentPagerAdapter { // Move to the new page if indicated. if (moveToNewPage) { - webViewPager.setCurrentItem(pageNumber); + moveToNewPage(pageNumber, webViewPager); } } @@ -164,4 +165,24 @@ public class WebViewPagerAdapter extends FragmentPagerAdapter { // Return the page fragment. return webViewFragmentsList.get(pageNumber); } + + private void moveToNewPage(int pageNumber, ViewPager webViewPager) { + // Check to see if the new page has been populated. + if (webViewPager.getChildCount() >= pageNumber) { // The new page is ready. + // Move to the new page. + webViewPager.setCurrentItem(pageNumber); + } else { // The new page is not yet ready. + // Create a handler. + Handler moveToNewPageHandler = new Handler(); + + // Create a runnable. + Runnable moveToNewPageRunnable = () -> { + // Move to the new page. + webViewPager.setCurrentItem(pageNumber); + }; + + // Try again to move to the new page after 50 milliseconds. + moveToNewPageHandler.postDelayed(moveToNewPageRunnable, 50); + } + } } \ No newline at end of file