如何在webview中重定向URL移动另一个活动

时间:2012-12-05 10:48:53

标签: android webview android-webview

我有一个webview来显示网页。在该网页按钮单击事件中,我将重定向到另一个页面。从那里另一个按钮单击事件即时重定向到第三页。我没有重定向到第3页,而是需要显示我的下一个活动。

我使用以下代码,但我的第一页本身没有加载

            @Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.login_page);
    WebView webview = (WebView) findViewById(R.id.wvLogin);

    setContentView(webview);    
    webview.setWebViewClient(new WebViewClient()
    {
        // Override URL

        public boolean shouldOverrideUrlLoading(WebView view, String url)
        {
            if(url.equals("http://My 3rd page redirecting URL"))
            {                       
                Intent i = new Intent(getApplicationContext(), APImages.class);
                startActivity(i);                   
            }           
            return true;
        }

    });

    webview.loadUrl("http://Default URL to load first time");

}

请告诉我如何在它之前?

3 个答案:

答案 0 :(得分:0)

如果您未处理此事件,请尝试返回false。这来自WebClient参考。

True if the host application wants to leave the current WebView and handle the url itself, otherwise return false. 

您的代码应该是这样的。

webview.setWebViewClient(new WebViewClient()
{
    // Override URL

    public boolean shouldOverrideUrlLoading(WebView view, String url)
    {
        if(url.equals("http://My 3rd page redirecting URL"))
        {                       
            Intent i = new Intent(getApplicationContext(), APImages.class);
            startActivity(i);                   
            return true;
        }           
        return false;
    }

});

答案 1 :(得分:0)

尝试此变体:

public boolean shouldOverrideUrlLoading(WebView view, String url)
{
    if(url.equals("http://My 3rd page redirecting URL"))
    {                       
        Intent i = new Intent(getApplicationContext(), APImages.class);
        startActivity(i);                   
    } else {
        webview.loadUrl(url);
    }
    return true;
}

答案 2 :(得分:0)

尝试onLoadResource。这应该适用于webview。有时onOverride函数不起作用,尤其是在调用intent时。