1

Webページを表示するWebビューがあります。その Web ページ ボタン クリック イベントで、別のページにリダイレクトしています。そこから別のボタンをクリックすると、イベントが 3 ページ目にリダイレクトされます。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");

}

先行する方法を教えてください。

4

3 に答える 3

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;
    }

});
于 2012-12-05T10:58:01.583 に答える
0

onLoadResource を試してください。これは webview で機能するはずです。特にインテントを呼び出している場合、onOverride 関数が機能しないことがあります。

于 2013-02-26T15:24:28.853 に答える
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;
}
于 2012-12-05T11:11:57.707 に答える