0

以下问题:我有一个方法可以生成一些计算的结果并将这个结果作为字符串返回。现在我希望这个结果包含一个可点击的链接。我怎么做?

这是我到目前为止所做的:

这是我生成结果字符串的方法的一部分:

Spanned link = Html.fromHtml("<a href='http://www.apple.com'>Apple.com</a>");
String result = "Website is: " + link;

然后,在另一种使用字符串的方法中,result我只设置了 TextView 的文本,resultText如下所示:

resultText.setText(result);

问题是在显示文本时,文本不是链接,因此不可点击。但是,我已经在相应 TextView 的 XML 文件中设置了这个属性:

android:linksClickable="true"

这里有什么问题?

4

3 回答 3

2

好的,我在http://android-coding.blogspot.de/2013/04/display-html-string-with-link-on.html上的这篇文章的帮助下自己弄清楚了

这是我所做的,也许对将来的某人有帮助:

我进行了这些更改(将它们与我的问题中的代码进行比较)

  1. 在我的结果字符串生成方法中,我输入了以下代码:

    String link = "<a href='http://www.apple.com'>Apple.com</a>";
    String result = "Website is: " + link;
    
  2. 从 TextView 中的 XML 中删除这些属性

    android:autoLink="web"
    android:linksClickable="true"
    
  3. 当您实际在 textview 中设置文本时,请执行以下操作:

    resultText.setText(Html.fromHtml(result));
    resultText.setMovementMethod(LinkMovementMethod.getInstance());
    
于 2013-08-15T20:49:42.950 回答
0

请参阅如何使 TextView 中的普通链接可点击?问题。

<TextView
    ...
    android:autoLink="web"/>

android:autoLink="web"控制是否自动找到 url 和电子邮件地址等链接并将其转换为TextView. 试试看。

更新

在您的原始代码中尝试

Spanned link = Html.fromHtml("![CDATA[<a href="http://www.apple.com">Apple.com</a>]]");

或者

在 string.xml 中声明一个字符串:

<string name="mylinks"><![CDATA[<a href="http://www.apple.com">Apple.com</a>]]></string>

进而

String link = Html.fromHtml(getResources().getString(R.string.mylinks));
于 2013-08-15T20:01:32.027 回答
0

您可以根据 ' 剪切字符串。您可以执行此 trim() 或 substring() 方法。查看链接。

于 2013-08-15T20:22:09.027 回答