use*_*853 3 android hyperlink textview
我需要能够在应用程序中为TextView创建链接,但链接指向的实际URL需要动态添加.
通过SO的研究,我发现了以下代码:
textView.setText(Html.fromHtml(
"<b>text3:</b> Text with a " +
"<a href=\"http://www.google.com\">link</a> " +
"created in the Java source code using HTML."));
textView.setMovementMethod(LinkMovementMethod.getInstance());
Run Code Online (Sandbox Code Playgroud)
据称这将在TextView中设置一个链接,就像在HTML中一样.这正是我需要做的,但我需要URL是动态的,基于将传递给的字符串变量setText().我该如何轻松地做到这一点?
澄清:我想显示"网站"这个词是一个链接,我需要根据将用户带到该视图的特定路径动态更新该链接指向的URL.
谢谢!
编辑:这是更新的代码:
String linkedText = "<b>text3:</b> Text with a " +
String.format("<a href=\"%s\">link</a> ", WEB) +
"created in the Java source code using HTML.";
web.setText(Html.fromHtml(linkedText));
web.setMovementMethod(LinkMovementMethod.getInstance());
Run Code Online (Sandbox Code Playgroud)
这是TextView的XML:
<TextView
android:id="@+id/vWeb"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/vPhone"
android:layout_marginTop="5dp"
android:layout_toRightOf="@+id/webIcon"
android:paddingLeft="1dp"
android:autoLink="web"
android:textIsSelectable="true" />
Run Code Online (Sandbox Code Playgroud)
如果我正确理解了这个问题,你可以尝试使用String.format():
String dynamicUrl = "http://www.google.com"; // or whatever you want, it's dynamic
String linkedText = "<b>text3:</b> Text with a " +
String.format("<a href=\"%s\">link</a> ", dynamicUrl) +
"created in the Java source code using HTML.";
textView.setText(Html.fromHtml(linkedText));
textView.setMovementMethod(LinkMovementMethod.getInstance());
Run Code Online (Sandbox Code Playgroud)
编辑:您还需要android:autoLink="web"从XML中删除此操作.
| 归档时间: |
|
| 查看次数: |
3156 次 |
| 最近记录: |