• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Apps (Help) Pressing back on webview fragment activity does not go back to previous page

unet

Newbie
Aug 13, 2018
19
4
Hello.
I have an app that has fragment activities with webview and a navigational drawer. When I press back it goes to a previous fragment activity but it does not go back to the previous page on the webview.

The code on MainActivity.java:
Java:
 @Override
    public boolean onNavigationItemSelected(@NonNull MenuItem item) {
        switch (item.getItemId()) {
            case R.id.nav_facebook:
                getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
                        new FacebookFragment()).addToBackStack("tag").commit();
                break;
            case R.id.nav_twitter:
                getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
                        new TwitterFragment()).addToBackStack("tag").commit();
                break;
            case R.id.nav_instagram:
                getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
                        new InstagramFragment()).addToBackStack("tag").commit();
                break;
            case R.id.nav_linkedin:
                getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
                        new LinkedinFragment()).addToBackStack("tag").commit();
                break;
            case R.id.nav_snapchat:
                getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
                        new SnapchatFragment()).addToBackStack("tag").commit();
                break;
            case R.id.nav_pinterest:
                getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
                        new PinterestFragment()).addToBackStack("tag").commit();
                break;
            case R.id.nav_youtube:
                getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
                        new YoutubeFragment()).addToBackStack("tag").commit();
                break;
            case R.id.nav_about:
                getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
                        new AboutFragment()).addToBackStack("tag").commit();
                break;
            case R.id.nav_privacy:
                getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
                        new PrivacyFragment()).addToBackStack("tag").commit();
                break;
        }

        drawer.closeDrawer(GravityCompat.START);

        return true;
    }


    @Override
    public void onBackPressed() {
        FragmentManager fm = getSupportFragmentManager();
        if (fm.getBackStackEntryCount() > 0) {
            fm.popBackStack();
        } else {
            super.onBackPressed();
        }
    }

The code in one of the fragments (FacebookFragment.java):
Java:
public class FacebookFragment extends Fragment {
    public FacebookFragment() {

    }

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.fragment_facebook, container, false);
        WebView webView = (WebView)v.findViewById(R.id.webView);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.setWebViewClient(new WebViewClient());
        webView.loadUrl("https://www.facebook.com/");
        return v;



    }





}
 

BEST TECH IN 2023

We've been tracking upcoming products and ranking the best tech since 2007. Thanks for trusting our opinion: we get rewarded through affiliate links that earn us a commission and we invite you to learn more about us.

Smartphones