首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在WebView中点击链接打开当前片段活动中的片段?

如何在WebView中点击链接打开当前片段活动中的片段?
EN

Stack Overflow用户
提问于 2018-10-23 02:47:33
回答 2查看 182关注 0票数 -1

我有一个带有WebView的片段活动,当我点击特定的url时,我想打开或重定向到不同的片段。

注意:如果选择了所需url以外的其他url,则应在相同的当前片段中打开该url。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-10-23 03:19:12

在你给出end视图代码的on-create中添加这个(最好是在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;
    }
}
票数 0
EN

Stack Overflow用户

发布于 2018-10-23 03:06:22

您应该覆盖url加载。使用如下内容:

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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52935908

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档