我有一个WebView的片段活动,单击特定的URL时我想在其中打开或重定向到另一个片段。
注意:如果选择了与所需网址不同的其他网址,则应在同一当前片段中打开。
答案 0 :(得分:1)
您应该覆盖网址加载。 使用类似以下的内容:
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.startsWith("your_url")) { //you can also use indexOf, equales etc.
// do what's needed
return true;
}
return false;
}
});
答案 1 :(得分:0)
在创建了Web视图代码的on-create处添加this(最好在oncreate方法的末尾添加)
webView.setWebViewClient(new MyWebViewClient());
然后在oncreate之外进行如下的函数调用
private class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.equals("your url here")) {
Fragment newFragment = YourNewFrag();
// consider using Java coding conventions (upper first char class names!!!)
FragmentTransaction transaction = getFragmentManager().beginTransaction();
// Replace whatever is in the fragment_container(usually a frame layout) view with this fragment,
// and add the transaction to the back stack
transaction.replace(R.id.fragment_container, newFragment);
transaction.addToBackStack(null);
// Commit the transaction
transaction.commit();
return true;
}
return false;
}
}