首页 > 解决方案 > 如何将网页视图退出到最后一个片段?

问题描述

我正在尝试退出单击片段元素时调用的 Web 视图。这是我的代码:

public class MainActivity extends AppCompatActivity {

    private WebView webView;
    private CustomPagerAdapter customPagerAdapter;
    private ViewPager2 viewPager;
    TabLayout tabLayout;
    static MainActivity activity;
    static MainActivity activity;

    public static MainActivity getInstance(){
        return activity;
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        activity = this;
        setContentView(R.layout.main_activity);

        viewPager = (ViewPager2) findViewById(R.id.pager_main);
        tabLayout = (TabLayout) findViewById(R.id.tab_layout_main);

        setPagerAdapter();
        customPagerAdapter.addFragment(new GoogleFragment());
        customPagerAdapter.addFragment(new YouTubeFragment());

        new TabLayoutMediator(tabLayout, viewPager,
                (tab, position) -> {
                    if (position == 0) {
                        tab.setText("Google");
                    } else if (position == 1) {
                        tab.setText("YouTube");
                    }
                }
        ).attach();
    }

    private void setPagerAdapter(){
        customPagerAdapter = new CustomPagerAdapter(getSupportFragmentManager(), getLifecycle());
        viewPager.setAdapter(customPagerAdapter);
    }

    public void setWebView(String url) {
        setContentView(R.layout.web_view);
        webView = (WebView) getInstance().findViewById(R.id.webView);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.loadUrl(url);
        webView.setWebViewClient(new WebViewClient(){

            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url){
                view.loadUrl(url);
                return false;
            }
        });
    }

    @Override
    public void onBackPressed() {
        if (webView.canGoBack()) {
            webView.goBack();
        } else {
            super.onBackPressed();
            finish();
        }
    }
}

按下后退按钮时,应用程序不会退出 Web 视图,而是自行退出。webView.goBack() 工作正常。但是从主 url单击后退按钮会退出应用程序。任何帮助表示赞赏!

标签: javaandroidandroid-layoutandroid-webviewback-button

解决方案


推荐阅读