webview使用android中的进度条

时间:2016-02-12 12:39:19

标签: android webview

*

> MainActivity.java

*
package com.example.net_progress;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ProgressBar;
import com.example.net_progress.*;

public class MainActivity extends Activity implements OnClickListener {

    public MainActivity() {
        //pb.setProgress(progress);

    }
    WebView wv;
    ProgressBar pb;
    Button go;
    String url;
    EditText et;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        pb=(ProgressBar)findViewById(R.id.progressBar1);
        et=(EditText)findViewById(R.id.editText1);
        go=(Button)findViewById(R.id.button1);
        go.setOnClickListener(this);
        wv=(WebView)findViewById(R.id.webView1);
        wv.setWebChromeClient(Myclient());


        pb.setMax(100);
    }
private WebChromeClient Myclient() {
        // TODO Auto-generated method stub
        return null;
    }
public void setValue(int progress) {
        pb.setProgress(progress);       
    }
    boolean validateUrl(String url)
    {
        return true;
    }
    @Override
    public void onClick(View v) {
        if(v.getId()==R.id.button1)
        {
            url=et.getText().toString();
            if(validateUrl(url))
            {
            wv.getSettings().setJavaScriptEnabled(true);
            wv.loadUrl("http://"+url);
            pb.setProgress(0);
            }

        }

    }


}

package com.example.net_progress;

import android.webkit.WebChromeClient;
import android.webkit.WebView;


public class Myclient extends WebChromeClient {
    public void onProgressChanged(WebView wv, int newProgress) {            
        MainActivity mn=new MainActivity();
        mn.setValue(newProgress);

        super.onProgressChanged(wv, newProgress);
    }

}

我添加了MainActivity.javawebclient.java的代码。网站加载到WebView,但WebView的进度不会显示到ProgressBar。请帮帮我!

对我来说足够了。 如果您对android中的webservices有所了解,请对此有所了解。肯定会帮助我变异。感谢你。

2 个答案:

答案 0 :(得分:0)

尝试在onCreate()

中添加此行

this.getWindow().setFeatureInt(Window.FEATURE_PROGRESS,Window.PROGRESS_VISIBILITY_ON);

这将使进度可见

答案 1 :(得分:0)

this.getWindow().setFeatureInt(Window.FEATURE_PROGRESS,Window.PROGRESS_VISIBILITY_ON);

这将在操作栏上显示进度