2017-01-18 19 views
0

Я просто реализовал webview в навигации drawer.i пытаюсь реализовать progressbar в следующем коде, но не могу понять, как это сделать в следующем коде. я читаю документы Android и другие вопросы, касающиеся веб-просмотра и progressbar, которые мне не помогают.Прогресс-бранд не ушел в webview

public boolean onNavigationItemSelected(MenuItem item) { 
    // Handle navigation view item clicks here. 
    int id = item.getItemId(); 

    if (id == R.id.nav_camera) { 
     // Handle the camera action 
    } else if (id == R.id.nav_gallery) { 
     WebView myWebView = (WebView) findViewById(R.id.web); 
     myWebView.loadUrl("http://www.google.com"); 

     WebView WebView = (WebView) findViewById(R.id.web); 
     WebSettings webSettings = myWebView.getSettings(); 
     webSettings.setJavaScriptEnabled(true); 

     WebView Webview = (WebView) findViewById(R.id.web); 
     myWebView.setWebViewClient(new WebViewClient()); 

if (myWebView.getProgress()>=100){ 
    setProgressBarIndeterminate(false); 
else{ 
    setProgressBarIndeterminate(true); 
} 

Я новичок в андроида программирования

+0

вы пропустили один закрывающий кронштейн '}' для if! –

ответ

0

Следующий код работает отлично, чтобы показать прелоадер

Основное направление деятельности

package com.android_examples.com.webviewprogressbarload; 

import android.app.Activity; 
import android.graphics.Bitmap; 
import android.os.Bundle; 
import android.view.View; 
import android.webkit.WebView; 
import android.widget.ProgressBar; 


public class MainActivity extends Activity 
{ 

WebView webview; 
ProgressBar pbar; 

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

    webview = (WebView)findViewById(R.id.webView1); 
    pbar = (ProgressBar)findViewById(R.id.progressBar1); 
    webview.setWebViewClient(new WebViewClient()); 
    webview.loadUrl("http://www.google.com"); 
} 

public class WebViewClient extends android.webkit.WebViewClient 
{ 
    @Override 
    public void onPageStarted(WebView view, String url, Bitmap favicon) 
    { 

    // TODO Auto-generated method stub 
    super.onPageStarted(view, url, favicon); 
    } 

    @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); 
    pbar.setVisibility(View.GONE); 
    } 

} }

XML

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
tools:context="com.android_examples.com.webviewprogressbarload.MainActivity" > 

<ProgressBar 
android:id="@+id/progressBar1" 
style="?android:attr/progressBarStyleLarge" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_alignParentTop="true" 
android:layout_centerHorizontal="true" /> 

<WebView 
android:id="@+id/webView1" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:layout_below="@+id/progressBar1" 
android:layout_centerHorizontal="true" /> 

</RelativeLayout> 
+0

Я только что реализовал webview в if else loop в навигационном ящике. но не может понять, как реализовать progressbar в if else loop. Спасибо за ответ!! – user7436637

+0

Если ... и циклы - это две разные вещи. Если вы можете опубликовать свой код, это поможет вам лучше ответить на него. – xaxist

+0

В противном случае я только что реализовал webview и его работу отлично, но я не могу найти код для progressbar в if else. – user7436637