【问题标题】:Link present in XML should open in webviewXML 中的链接应该在 webview 中打开
【发布时间】:2016-05-10 11:50:24
【问题描述】:

我有在应用程序中显示条款和条件的代码。在第一行我有一个链接。我希望在 webview 中加载该链接。

以下是片段代码:

String[] tncList = getResources().getStringArray(R.array.tnc_text_array);

for(int i=0;i < tncList.length;i++)
{
    LinearLayout llItem=(LinearLayout)inflater.inflate(R.layout.terms_n_cond_fragment_layout, null);
    TextView txt= (TextView)llItem.findViewById(R.id.tncText);
    if(i == 0) {
        txt.setText(Html.fromHtml(tncList[i]));
        txt.setMovementMethod(LinkMovementMethod.getInstance());
    } else {
        txt.setText(tncList[i]);
    }
    tncTextLayout.addView(llItem);
}

以下是资源文件中的字符串数组:

<string-array name="tnc_text_array">
    <item>Standard terms and condition apply To read click <![CDATA[<a href="example.com/termsandconditions">here</a>]]></item>
    <item>lorem ipsum</item>
    <item>lorem ispsum</item>
    <item>lorem ipsum</item>
</string-array>

通过使用上面的代码生成链接,用户可以单击该链接并在浏览器中打开它,但它在移动视图中打开,但我希望它在桌面视图中打开。

我希望它在浏览器中打开,但在桌面视图或 web 视图中打开。

【问题讨论】:

  • 在 xml 文本视图中使用 android:autoLink="all"

标签: android android-fragments android-intent webview android-resources


【解决方案1】:

您可以在字符串中使用 USER-AGENT :

String userAgent= Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36

WebView webView =(WebView) findViewById(R.id.webView);
webView.getSettings.setuserAgentString(userAgent)

【讨论】:

  • 有没有什么办法可以将 onclick 侦听器设置为 href 字符串并启动意图而不是使用 webview
  • 您可以在 webview 上加载它,拦截第一个 url,然后隐藏或销毁 webview,然后启动您想要启动的任何意图。
  • 您能否提供一个示例来说明如何操作。
猜你喜欢
  • 1970-01-01
  • 2015-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多