Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android WebView不维护历史记录_Android_Android Webview - Fatal编程技术网

Android WebView不维护历史记录

Android WebView不维护历史记录,android,android-webview,Android,Android Webview,我在一个片段中有一个webview,当我单击一个链接时,它会转到下一页,但是单击后退按钮不会将我带回上一页。当我检查保险箱时,它总是假的 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { gameDetailsActivity = (GameDetailsActivity)getActivity(); Bundle

我在一个片段中有一个webview,当我单击一个链接时,它会转到下一页,但是单击后退按钮不会将我带回上一页。当我检查保险箱时,它总是假的

public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState)
{
    gameDetailsActivity = (GameDetailsActivity)getActivity();

    Bundle args = getArguments();
    int type = args.getInt(ARG_OBJECT);
    View rootView = null;

    rootView = inflater.inflate(R.layout.gamedetailswebview,
            container, false);

    wv = (WebView) rootView.findViewById(R.id.WebViewGameDetails);

    wv.setWebViewClient(new WebViewClient());
    wv.getSettings().setJavaScriptEnabled(true);
    wv.getSettings().setPluginState(WebSettings.PluginState.ON_DEMAND);
    wv.getSettings().setBuiltInZoomControls(true); 
    wv.getSettings().setSupportZoom(true);
    wv.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);   
    wv.getSettings().setAllowFileAccess(true); 
    wv.getSettings().setDomStorageEnabled(true);

    switch (type)
    {
        case 1:
            wv.loadUrl(gameDetailsActivity.gameSummaryURL);
            break;
        case 2:
            wv.loadUrl(gameDetailsActivity.gameReportURL);
            break;
    }

    return rootView;
}

public boolean GoBack()
{
    if (wv.canGoBack())
    {
        wv.goBack();
        return true;
    }

    return false;
}

@Override
public void onBackPressed()
{
    int currentFragmentIndex = gameDetailsViewPager.getCurrentItem();

    if (currentFragmentIndex > 0)
    {
        Fragment webview = gameDetailsPagerAdapter
                .getItem(currentFragmentIndex);
        if (webview instanceof GameDetailsWebViewFragment)
        {
            if (!((GameDetailsWebViewFragment) webview).GoBack())
            {
                super.onBackPressed();
            }
        }
    }
}

我认为与其使用
wv.setWebViewClient(新的WebViewClient())
您应该扩展
WebViewClient
,覆盖
shouldOverrideUrlLoading()
,如下所示

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