如何在 webview 片段上添加回上一页?

问题描述

我有一个用 android studio 创建的 android 应用程序,它有一个主要的 Activity 和带有 webview 的片段。每个片段都包含带有网站链接的 webview 代码。我遇到的问题是,当我按下它时,它会关闭应用程序。我想使用 back 转到上一页和上一个活动。 主要活动代码:

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

    drawer.closeDrawer(GravityCompat.START);

    return true;
}

@Override
public void onBackPressed() {
    DrawerLayout drawer = findViewById(R.id.drawer_layout);
    if (drawer.isDrawerOpen(GravityCompat.START)) {
        drawer.closeDrawer(GravityCompat.START);
    } else {
        super.onBackPressed();
    }
}

这是其中一个片段的代码(其余片段的代码类似):

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;

    }

    


}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)