studio sistema puedo inhabilitado habilitar ejemplo desactivado como activar android refresh webview reload

android - sistema - ¿Hay una mejor manera de actualizar WebView?



webview android studio (8)

¿Por qué no intentar esto?

Swift code para llamar dentro de la clase:

self.mainFrame.reload()

o llamada externa

myWebV.mainFrame.reload()

De acuerdo. He buscado en TODAS PARTES y mi pequeño cerebro simplemente no puede entender una mejor manera de actualizar una actividad. Cualquier sugerencia que pueda entender sería genial. :)

Aquí está el código de Java:

package com.dge.dges; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.webkit.WebView; import android.widget.Button; public class dgeActivity extends Activity { WebView mWebView; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mWebView = (WebView) findViewById(R.id.webview); mWebView.getSettings(); mWebView.loadUrl("http://www.websitehere.php"); Button newButton = (Button)findViewById(R.id.new_button); newButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { Intent intent = new Intent(dgeActivity.this, dgeActivity.class); startActivity(intent); } }); } }

Y aquí está el main.xml

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/RelativeLayout" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#000000" > <WebView android:id="@+id/webview" android:layout_width="fill_parent" android:layout_height="wrap_content" android:scrollbars="none" /> <Button android:id="@+id/new_button" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:text="Refresh" /> </RelativeLayout>

No me gusta la idea de simplemente reapilar actividad después de la actividad. Tiene que haber una manera más fácil de actualizar la vista web. Por favor ayuda. :)


1) En caso de que quiera volver a cargar la misma URL:

mWebView.loadUrl("http://www.websitehere.php");

entonces el código completo sería

newButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { dgeActivity.this.mWebView.loadUrl("http://www.websitehere.php"); }});

2) También puede llamar a mWebView.reload() pero tenga en cuenta que esto mWebView.reload() a mWebView.reload() una página si la solicitud fue POST, por lo que solo funciona correctamente con GET.


Esto funcionó para mí.

acaba de poner en bajoCreate metode

Button button = (Button) findViewById(R.id.reload_btn); button.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { web.loadUrl( "javascript:window.location.reload( true )" ); } });

Este es el código que puede volver a cargar un sitio web en una vista web

web.loadUrl( "javascript:window.location.reload( true )" );


La actualización de la URL de la vista web actual no es un uso común.
Usé esto en tal escenario: cuando el usuario va a otra actividad y el usuario vuelve a la actividad de la vista web, recargo la URL actual de esta manera:

public class MyWebviewActivity extends Activity { WebView mWebView; .... .... .... @Override public void onRestart() { String url = mWebView.getUrl(); String postData = MyUtility.getOptionsDataForPOSTURL(mContext); mWebView.postUrl(url, EncodingUtils.getBytes(postData, "BASE64")); } }

También puede usar la función reload() WebView. Pero tenga en cuenta que si cargó la vista web con postUrl() , entonces mWebView.reload(); no funciona Esto también funciona

String webUrl = webView.getUrl(); mWebView.loadUrl(webUrl);


La mejor solución es simplemente hacer webView.loadUrl( "javascript:window.location.reload( true )" ); . Esto debería funcionar en todas las versiones y no introduce nuevas entradas de historial.


Puede llamar a mWebView.reload(); Eso es lo que hace


Sí, por alguna razón, WebView.reload () provoca un bloqueo si no se pudo cargar antes (algo que tiene que ver con la forma en que maneja el historial). Este es el código que uso para actualizar mi vista web. self.url url actual en self.url

# 1: Pause timeout and page loading self.timeout.pause() sleep(1) # 2: Check for internet connection (Really lazy way) while self.page().networkAccessManager().networkAccessible() == QNetworkAccessManager.NotAccessible: sleep(2) # 3:Try again if self.url == self.page().mainFrame().url(): self.page().action(QWebPage.Reload) self.timeout.resume(60) else: self.page().action(QWebPage.Stop) self.page().mainFrame().load(self.url) self.timeout.resume(30) return False


prueba esto :

mWebView.loadUrl(mWebView.getUrl().toString());