0

问题是url每天都在变化

https://www.aquaserv.ro/index.php?npage=757

https://www.aquaserv.ro/index.php?npage=758

等等....

package com.example.comunicatavariicompaniaaquaserv;
import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;  

public class tutorialOne extends Activity
{
final Activity activity = this;

@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    this.getWindow().requestFeature(Window.FEATURE_PROGRESS);
    setContentView(R.layout.avarii);
    WebView webView = (WebView) findViewById(R.id.webview1);
    webView.getSettings().setJavaScriptEnabled(true);//enable java content
    webView.getSettings().setUseWideViewPort(false);//enable zoom-out page
    webView.getSettings().setDomStorageEnabled(true);


    webView.setWebChromeClient(new WebChromeClient() {
        public void onProgressChanged(WebView view, int progress)
        {
            activity.setTitle("Se incarca datele...");
            activity.setProgress(progress * 100);

            if(progress == 100)
                activity.setTitle(R.string.app_name);
        }

    });

    webView.setWebViewClient(new WebViewClient() {


        @Override
        public void onReceivedError(WebView view, int errorCode, String description,   
        String failingUrl)                                                          
        {
            // Handle the error
        }

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

    webView.loadUrl("https://www.aquaserv.ro/index.php?npage=757");
    } 
    }
4

3 回答 3

1

你的用例是什么?你如何得到这个网址?您必须对 URL 进行硬编码吗?是什么触发了变化?

我建议您动态获取 URL 并将其传递给 WebView。如果您知道 URL 何时会更改,或者您始终可以获取具有唯一标识的最新 URL,则可以在获取最新 URL 后将 URL 加载到 WebView 中。

于 2013-09-02T07:57:28.217 回答
0

WebView 上的 loadUrl(String url) 和 load*(..) 是可以让您动态设置 url 的函数。下面的 Activity 做到了。它有两个按钮,“click to go to google”和“click to go to yahoo”,点击后会调用loadUrl()方法更新WebView。

因此,对于 url 的任何更改,请使用参数调用 loadUrl() 函数,然后就完成了。

import android.app.Activity;
import android.app.ActionBar;
import android.app.Fragment;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.os.Build;

public class MainActivity extends Activity {

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

        /*if (savedInstanceState == null) {
            getFragmentManager().beginTransaction()
                    .add(R.id.container, new PlaceholderFragment()).commit();
        }*/
        final WebView webView=(WebView)findViewById(R.id.webview);


        webView.setWebViewClient(new WebViewClient());
        WebSettings webSettings = webView.getSettings();
        webSettings.setJavaScriptEnabled(true);
        Button b= (Button)  findViewById(R.id.google);
        b.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                webView.loadUrl("http://www.google.com");

            }
        });
        Button b2= (Button) findViewById(R.id.yahoo);
        b2.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                webView.loadUrl("http://www.yahoo.com");

            }
        });

    }

}
于 2015-02-10T12:47:39.723 回答
0

使用此代码

 @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url.replace("https://www.aquaserv.ro/index.php?npage=757", "https://www.aquaserv.ro/index.php?npage=758"));
            return false;
        }
于 2020-04-18T22:44:57.040 回答