Добавление индикатора прогресса в веб-просмотр - PullRequest
0 голосов
/ 19 октября 2010

Я пытался поместить индикатор хода выполнения кнопки назад в веб-просмотр и сохранить загрузку URL-адреса в моем приложении вместо использования веб-браузера Android по умолчанию.

Если мне удастся перейти к просмотру в приложении и удерживать кнопку «Назад», индикатор выполнения никогда не будет отображаться, если мне удастся отобразить индикатор выполнения, показывающий код внизу для mustoverideurl, который никогда не будет считан и браузер по умолчанию запускает, я пробовал все учебники и решения Google, но ни один из них не работает. Я в настоящее время использую Google .. Кто-нибудь может помочь ??

public class livebrad extends Activity {

WebView mWebView;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);

    // Adds Progrss bar Support
    this.getWindow().requestFeature(Window.FEATURE_PROGRESS);
    setContentView(R.layout.brows);

    // Makes Progress bar Visible
    getWindow().setFeatureInt(    Window.FEATURE_PROGRESS, Window.PROGRESS_VISIBILITY_ON); 

    // Get Web view
    mWebView = (WebView) findViewById( R.id.webView ); //This is the id you gave 
                                                         //to the WebView in the main.xml
    mWebView.getSettings().setJavaScriptEnabled(true);   
    mWebView.getSettings().setSupportZoom(true);         //Zoom Control on web (You don't need this 
                                                         //if ROM supports Multi-Touch        
    mWebView.getSettings().setBuiltInZoomControls(true); //Enable Multitouch if supported by ROM

    // Load URL
    mWebView.loadUrl("http://www.bbc.co.uk");


    // Sets the Chrome Client, and defines the onProgressChanged
    // This makes the Progress bar be updated.
    final Activity MyActivity = this;
    mWebView.setWebChromeClient(new WebChromeClient() {
    public void onProgressChanged(WebView view, int progress)   
    {
        //Make the bar disappear after URL is loaded, and changes string to Loading...
        MyActivity.setTitle("Loading...");
        MyActivity.setProgress(progress * 100); //Make the bar disappear after URL is loaded

        // Return the app name after finish loading
        if(progress == 100)
            MyActivity.setTitle(R.string.app_name);

    }class HelloWebViewClient extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }
    }
    });



}//End of Method onCreate

}

Ответы [ 3 ]

1 голос
/ 03 сентября 2011
import android.app.Activity;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class SandbarinFacebook extends Activity {

WebView mWebView;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.fb);

        final ProgressDialog pd = ProgressDialog.show(this, "", "Loading...",
                true);

        mWebView = (WebView) findViewById(R.id.webkitWebView1);
        mWebView.getSettings().setJavaScriptEnabled(true);
        mWebView.getSettings().setSupportZoom(true);  
        mWebView.getSettings().setBuiltInZoomControls(true);
        mWebView.setWebViewClient(new WebViewClient() {
            @Override
            public void onPageFinished(WebView view, String url) {
                if(pd.isShowing() && pd!=null)
                {
                pd.dismiss();
                }
            }
        });
        mWebView.loadUrl("http://m.facebook.com/sandbarathens");

    }
}
0 голосов
/ 16 февраля 2011

Вы только что пропустили это утверждение.

mWebView.setWebViewClient(..)
0 голосов
/ 30 декабря 2010

Если вы хотите, чтобы индикатор выполнения отображался каждый раз, когда пользователь нажимает ссылки, добавьте код для отображения индикатора выполнения в методе shouldOverrideUrlLoading().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...