如何加载URL连续一个接一个 [英] How to load URL consecutively one by one

查看:146
本文介绍了如何加载URL连续一个接一个的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想通过one.I使用的字符串数组来存储URL.My要求加载URL之一是,如果web视图加载第一个URL应该打印味精开始页时,页面开始,并在页面finshes它应显示页面完成。后的第一个网址装载完成它应该加载第二个URL,并继续相同的处理。

I want to load URL one by one.I used String array to store the URL.My requirement is that if the webview loads the first url it should print the msg "page started" when page starts and when the page finshes it should show "page finished". After the first url loading finishes it should load second URL and continues the same process.

我写的代码如下:

package com.browser;
import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.util.Log;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class browser extends Activity {

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

        final String[] url={"http://www.yahoo.com","http://www.google.com","http://www.ibnlive.com"};
        final MyWebView mwv = new MyWebView(this); 
        mwv.setWebViewClient(new myweb()); 
        new Thread(new Runnable(){
            public void run(){
                Log.d("runThread","runthread");
                for(int i=0;i<2;i++){
                    openbrowser(url[i]);
                }

            }

            private void openbrowser(String url) {

                mwv.getSettings().setJavaScriptEnabled(true); 
                mwv.loadUrl(url);   
                Log.d("",""+url);
                setContentView(mwv);
            }
        }).start();
    }


    public class MyWebView extends WebView{

        public MyWebView(Context context) {
            super(context);

        }
    }
    public class myweb extends WebViewClient{
        @Override       
        public boolean shouldOverrideUrlLoading(WebView view, String url) { 
            System.out.println("LOADING");

            return false;
        }
        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {

            System.out.println("PageStarted: " + url);
        }

        @Override   
        public void onPageFinished(WebView view, String url){
            System.out.println("PageFinished: " + url);
        }
    }


    }
    ///indented code <--remove this

它只加载最后浏览的网址。

It loads only the last URL.

推荐答案

试试这个......

Try this one ...

int position=0;

textview.setText("page started");
browser.loadUrl("your first url");
browser.setWebChromeClient(new WebChromeClient()
{
    public void onProgressChanged(WebView view, int progress) 
    {
       if(progress == 100)
       {
          textview.setText("page finished");
          if(position==0)
          {
            browser.loadUrl("your second url");
            position=1;
            textview.setText("page started");
          } 
          if(position==1)
          {
            browser.loadUrl("your third url");
            position=2;
            textview.setText("page started");
          } 
       }
    }
});

您还可以显示吐司相反的TextView的。

you can also display Toast Instead of TextView..

这篇关于如何加载URL连续一个接一个的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆