2017-06-07 1 views

Répondre

0
public class AppWebViewClients extends WebViewClient { 
    private ProgressBar progressBar; 

    public AppWebViewClients(ProgressBar progressBar) { 
     this.progressBar=progressBar; 
     progressBar.setVisibility(View.VISIBLE); 
    } 

    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     // TODO Auto-generated method stub 
     view.loadUrl(url); 
     return true; 
    } 

    @Override 
    public void onPageFinished(WebView view, String url) { 
     // TODO Auto-generated method stub 
     super.onPageFinished(view, url); 
     progressBar.setVisibility(View.GONE); 
    } 
} 

Je pense que cela vous aide.

Merci.

+0

Ce travail est pour moi. –

0

Je ne peux pas obtenir de travail pouvez-vous expliquer en détail pour ce code. Ceci est mon activity_main.xml

<android.support.v4.widget.SwipeRefreshLayout 
    android:id="@+id/swipe" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <WebView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_centerHorizontal="true" 
     android:id="@+id/webView" 
     /> 
    <ProgressBar 
     android:id="@+id/progressBar" 
     style="?android:attr/progressBarStyle" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 

</android.support.v4.widget.SwipeRefreshLayout> 

c'est mon MainActivity.java

public class MainActivity extends AppCompatActivity { 

    WebView webView; 
    SwipeRefreshLayout swipeRefreshLayout; 
    String currentUrl = "https://www.google.com"; 



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

     webView = (WebView) findViewById(R.id.webView); 
     swipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipe); 
     swipeRefreshLayout.setColorSchemeColors(getResources().getColor(R.color.colorPrimary)); 
     WebSettings webSettings = webView.getSettings(); 
     webSettings.setJavaScriptEnabled(true); 
     webSettings.setRenderPriority(WebSettings.RenderPriority.HIGH); 
     webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE); 
     webSettings.setDomStorageEnabled(true); 
     webSettings.setAppCacheEnabled(true); 


     webView.loadUrl(currentUrl); 
     webView.setWebViewClient(new MyWebViewClient(){ 
           public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { 
            webView.loadUrl("file:///android_asset/error.html"); 

           } 
          } 

    ); 

    swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { 
     @Override 
     public void onRefresh() { 
      webView.loadUrl(currentUrl); 
     } 
    }); 

} 

public class MyWebViewClient extends WebViewClient{ 

    @Override 
    public void onPageFinished(WebView view, String url) { 
     swipeRefreshLayout.setRefreshing(false); 
     currentUrl = url; 
     super.onPageFinished(view, url); 
    } 

} 

public class AppWebViewClients extends WebViewClient { 
    private ProgressBar progressBar; 

    public AppWebViewClients(ProgressBar progressBar) { 
     this.progressBar=progressBar; 
     progressBar.setVisibility(View.VISIBLE); 
    } 

    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     // TODO Auto-generated method stub 
     view.loadUrl(url); 
     return true; 
    } 

    @Override 
     public void onPageFinished(WebView view, String url) { 
      // TODO Auto-generated method stub 
      super.onPageFinished(view, url); 
      progressBar.setVisibility(View.GONE); 
     } 
    } 
} 
+0

Regardez ici: https://github.com/SatanPandeya/file_chooser_webview –