【问题标题】:How do I refresh the contents of a webview如何刷新网页视图的内容
【发布时间】:2017-04-02 22:29:31
【问题描述】:

如何刷新网页视图的内容? 那是我的代码有办法更新吗?有没有办法自动更新页面?非常感谢

public class MainActivity extends Activity implements AdvancedWebView.Listener {

private static final String TEST_PAGE_URL = "";
private AdvancedWebView mWebView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mWebView = (AdvancedWebView) findViewById(R.id.webview);
    mWebView.setListener(this, this);
    mWebView.setGeolocationEnabled(false);
    mWebView.setMixedContentAllowed(true);
    mWebView.setCookiesEnabled(true);
    mWebView.setThirdPartyCookiesEnabled(true);
    mWebView.setWebViewClient(new WebViewClient() {

        @Override
        public void onPageFinished(WebView view, String url) {
            Toast.makeText(MainActivity.this, "Finished loading", Toast.LENGTH_SHORT).show();
        }

    });
    mWebView.setWebChromeClient(new WebChromeClient() {

        @Override
        public void onReceivedTitle(WebView view, String title) {
            super.onReceivedTitle(view, title);
            Toast.makeText(MainActivity.this, title, Toast.LENGTH_SHORT).show();
        }

    });
    mWebView.addHttpHeader("X-Requested-With", "");
    mWebView.loadUrl("");
}

@SuppressLint("NewApi")
@Override
protected void onResume() {
    super.onResume();
    mWebView.onResume();
    // ...
}

@SuppressLint("NewApi")
@Override
protected void onPause() {
    mWebView.onPause();
    // ...
    super.onPause();
}

@Override
protected void onDestroy() {
    mWebView.onDestroy();
    // ...
    super.onDestroy();
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
    super.onActivityResult(requestCode, resultCode, intent);
    mWebView.onActivityResult(requestCode, resultCode, intent);
    // ...
}

@Override
public void onBackPressed() {
    if (!mWebView.onBackPressed()) { return; }
    // ...
    super.onBackPressed();
}

@Override
public void onPageStarted(String url, Bitmap favicon) {
    mWebView.setVisibility(View.INVISIBLE);
}

@Override
public void onPageFinished(String url) {
    mWebView.setVisibility(View.VISIBLE);
}

@Override
public void onPageError(int errorCode, String description, String failingUrl) {
    Toast.makeText(MainActivity.this, "onPageError(errorCode = "+errorCode+",  description = "+description+",  failingUrl = "+failingUrl+")", Toast.LENGTH_SHORT).show();
}

@Override
public void onDownloadRequested(String url, String suggestedFilename, String mimeType, long contentLength, String contentDisposition, String userAgent) {
    Toast.makeText(MainActivity.this, "onDownloadRequested(url = "+url+",  suggestedFilename = "+suggestedFilename+",  mimeType = "+mimeType+",  contentLength = "+contentLength+",  contentDisposition = "+contentDisposition+",  userAgent = "+userAgent+")", Toast.LENGTH_LONG).show();

    /*if (AdvancedWebView.handleDownload(this, url, suggestedFilename)) {
        // download successfully handled
    }
    else {
        // download couldn't be handled because user has disabled download manager app on the device
    }*/
}
@Override
public void onExternalPageRequest(String url) {
    Toast.makeText(MainActivity.this, "onExternalPageRequest(url = "+url+")", Toast.LENGTH_SHORT).show();
}

【问题讨论】:

标签: java android webview


【解决方案1】:

WebView 有一个可以调用的 reload 方法。这将重新加载当前的 url。

https://developer.android.com/reference/android/webkit/WebView.html#reload()

目前尚不清楚何时要刷新,但您需要将其放在代码中的某个位置:mWebView.reload();

【讨论】:

  • 感谢回复,我放了代码,但是我放的示例代码不起作用 mWebView.reload();("exmple.com");
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-01
  • 1970-01-01
  • 2018-12-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多