【问题标题】:Android Linking between 2 WebView Fragments2个WebView片段之间的Android链接
【发布时间】:2017-04-14 19:02:46
【问题描述】:

有人知道我如何在 2 个 WebView 片段之间进行链接吗? 两个 WebView 片段都使用本地 html 源。所以我想链接到另一个 通过内联 HTML href 实现 WebView 片段。

我认为像 Intent 或 Fragment Interfaces 这样的东西可以在这里工作。但不知道如何将 href 标签访问到原生 Android 代码。

如果您看到上图 - 解决方案应该是打开 Link WebView 1 并切换到 2nd WebView。它使用底部导航实现,因此第一个选项卡 (WebView) 应该切换第二个选项卡 (WebView),因为它在选项卡上自然地工作。

更新

Android 中的这种新材料设计令人惊叹。 当我想以编程方式切换视图时 - 我不必调用片段事务方法。我只需要这样做:

BottomNavigationView navigation = (BottomNavigationView) findViewById(R.id.navigation);
            navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);

现在是魔法:

navigation.setSelectedItemId(R.id.navigation_myView);

这也会同步底部导航状态并加载片段视图。 就我而言,我在 JavaScript 桥中调用它。 Android 震撼朋友。

【问题讨论】:

    标签: android html android-intent fragment href


    【解决方案1】:

    你需要查看JavascriptInterface注解类。 JavascriptInterface 通知为您提供了一种从 WebView 中的 javascript 调用 Android 方法的方法。

    你可以在那里找到大量的教程,但它的工作方式基本上是这样的:

    • 使用您希望从 WebView 中的 javascript 调用的方法创建一个 POJO。此方法只能有 String 类型的参数。

    • 用@JavascriptInterface注解对方法进行注解。

    • 调用webView.addJavaScriptInterface(pojo, "js") 将您的POJO 注入WebView。 (字符串标签是任意的。)

    • 在您的 javascript 中,调用 js.yourMethod() 以调用 POJO 上的方法。

    所以在你的情况下,当有人点击webview1中的按钮时,你通过javascript接口调用一个Android方法来显示webview2。

    【讨论】:

    • 谢谢你的答案。我想到了一些关于 JavaScript 桥的事情。我检查了这些东西。
    • 我找到了一个很棒的方法来切换视图检查我上面的更新
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多