简体   繁体   English

片段中的Web视图每次都返回首页

[英]web view in fragment goes to home page every time to press back

i have a problem with my web view in fragment that every time press back lead to home page can you help me to make back button goes to previous page . 我的Web视图中有一个片段问题,每次按返回首页可以帮助我使返回按钮转到上一页。

my fragment jave file includes:- 我的片段文件包括:-

package com.example.catalogmavbar.ui.cat;

import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebView;
import android.webkit.WebViewClient;

import androidx.fragment.app.Fragment;

import com.example.catalogmavbar.R;

public class CatFragment extends Fragment {

    public CatViewModel catViewModel;
    @Override

    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_cat, container, false);
        WebView webView = (WebView)view.findViewById(R.id.webviewncat);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.setWebViewClient(new WebViewClient());
        webView.loadUrl("http://www.catalogmasr.com/categories");
        return view ;


    }


}

You can make a function in fragment to control webview.goBack() that called by onBackPressed() in activity. 您可以在片段中创建一个函数来控制活动中webview.goBack()调用的onBackPressed()

Example

in Fragment 在片段中

CatFragment {
    ...
    public boolean onBackPressedHandled(){
        if (webview.canGoBack()) {
            webview.goBack();
            return true;
        }
        return false;
    }
}

in Activity: 活动中:

Activity {
    ...
    public void onBackPressed() {
        if (!catFragment.onBackpressedHandled()) {
            super.onBackPressed();
        }
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM