2017-09-19 22 views
-2

1.Webviewにはgobackメソッドがあります。これをクリックするとウェブ状態を保存できます。webviewでリロードURLを最後に保存する方法

2.私のレイアウトはLinearlayoutであり、2つのボタンの上にwebviewがあります。

  1. すべてのボタンはURLと一致します。また、私は、私は2番目のボタンをクリックした後、第二の形式に

を持っていない私は、最初のURLのフォームにいくつかの情報を書いた最初のURLの形式は

  • onKeyDown方法でwebView.goBack()を追加します 次に、最初のボタンをクリックしますが、URLはreload.butです。 をクリックするとフォーム情報が保存されます。 戻るボタンをクリックすると最後のフォーム情報を保存するようなフォーム情報を保存したい

    前回フォーム情報を保存したいのですが、その方法は?

    mWebView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT); // WebSettings.LOAD_CACHE_ELSE_NETWORK 
    

    をもアプリのキャッシュのパスの指定で保存する:

    mWebView.getSettings().setAppCachePath(mContext.getCacheDir().getPath()); 
    

    を、私に結果を伝える

    私のコードはここに

    private void checkone(String url) { 
    
        if (!Netutils.isNetworkAvalible(MyApplication.mcontext)) { 
         fl.removeAllViews(); 
         webView.loadUrl(url); 
         webView.setVisibility(View.GONE); 
         webView.removeAllViews(); 
         fl.setVisibility(View.VISIBLE); 
         fl.addView(mErrorView); 
    
        } else { 
         handler.postDelayed(new Runnable() { 
          @Override 
          public void run() { 
           fl.setVisibility(View.GONE); 
           webView.setVisibility(View.VISIBLE); 
           fl.removeAllViews(); 
          } 
         },1000); 
    
    
    
    
    
    
          Map extraHeaders = new HashMap(); 
          extraHeaders.put("Referer", "www.emiaoqian.com"); 
          webView.loadUrl(url, extraHeaders); 
    
    
          settings = webView.getSettings(); 
          settings.setBuiltInZoomControls(true); 
          settings.setUseWideViewPort(true); 
    
          settings.setJavaScriptEnabled(true); 
          settings.setSaveFormData(true); 
          settings.setCacheMode(WebSettings.LOAD_DEFAULT); 
          settings.setAppCachePath(MyApplication.mcontext.getCacheDir().getPath()); 
    
          webView.setWebChromeClient(new ChomeClient(this) { 
           @Override 
           public void onProgressChanged(WebView view, int newProgress) { 
    
    
            currentProgress = pg1.getProgress(); 
            if (newProgress >= 100 && !isAnimStart) { 
    
             isAnimStart = true; 
             pg1.setProgress(newProgress); 
    
             startDismissAnimation(pg1.getProgress()); 
            } else { 
    
             startProgressAnimation(newProgress); 
            } 
    
           } 
    
           @Override 
           public void onReceivedTitle(WebView view, String title) { 
            super.onReceivedTitle(view, title); 
    
            if (title.contains("404")) { 
             showErrorPage(); 
            } 
           } 
          }); 
    
    
          settings.setAllowFileAccess(true); 
          settings.setAllowContentAccess(true); 
    
          settings.setDomStorageEnabled(true); 
    
    
          String ua = webView.getSettings().getUserAgentString(); 
          webView.getSettings().setUserAgentString(ua.replace("Android", "emiaoqian")); 
    
    
    
    
          webView.setWebViewClient(new WebViewClient() { 
    
           @Override 
           public void onPageStarted(WebView view, String url, Bitmap favicon) { 
            pg1.setVisibility(View.VISIBLE); 
            pg1.setAlpha(1.0f); 
    
    
    
           } 
    
           @Override 
           public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) { 
            handler.proceed(); 
           } 
    
    
    
           @Override 
           public boolean shouldOverrideUrlLoading(WebView view, String url) { 
    
    
    
            if (url.startsWith("weixin://wap/pay?")) { 
             Intent intent = new Intent(); 
             intent.setAction(Intent.ACTION_VIEW); 
             intent.setData(Uri.parse(url)); 
             //startActivityForResult(intent,233); 
             startActivity(intent); 
             return true; 
            } 
            return super.shouldOverrideUrlLoading(view, url); 
    
           } 
    
    
    
           @Override 
           public void onPageFinished(WebView view, String url) { 
            if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { 
             CookieSyncManager.getInstance().sync(); 
            } else { 
             CookieManager.getInstance().flush(); 
            } 
    
    
            if (!(url.equals(Constants.LOGIN)) && !(url.equals(Constants.LOGINOUT))) { 
             if (homeTb != null && supportActionBar != null) { 
              supportActionBar.setDisplayHomeAsUpEnabled(false); 
              supportActionBar.setDisplayShowHomeEnabled(false); 
              homeTb.setTitle(""); 
             } 
             radiogroup.setVisibility(View.VISIBLE); 
             nouserl.setVisibility(View.VISIBLE); 
    
            } else if (url.equals(Constants.LOGIN) || url.equals(Constants.LOGINOUT)) { 
             inittoolbar2(); 
             radiogroup.setVisibility(View.GONE); 
             nouserl.setVisibility(View.GONE); 
    
            } 
    
    
            if (url.startsWith("https://wx.tenpay.com")) { 
             String newurl = url.substring(url.length() - 12, url.length()); 
             LogUtil.e("--", newurl); 
    
    
    
            } 
    
    
    
           } 
    
           @Override 
           public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { 
            showErrorPage(); 
           } 
    
           @Override 
           public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) { 
            showErrorPage(); 
           } 
    
    
          }); 
    
          fixDirPath(); 
          // webParentView = (LinearLayout) webView.getParent(); 
         } 
    
    
    } 
    
  • +1

    あなたは既にその質問をしています。新しい質問を作成する前に質問に答えてください。 https://stackoverflow.com/questions/46290821/how-to-save-forms-info-last-time-in-webview – Steven

    答えて

    0

    あなたが設定することができます。

    +0

    効果はありません。コードにはいくつかの質問があります – user7148732

    関連する問題