我有一个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");
}
请告诉我如何在它之前?
答案 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时。