1

我有一个网址,我希望将其显示为一个单词,单击该单词会从我的警报对话框中打开网络浏览器。一切正常,除了现在显示完整的网址。我不知道如何隐藏这一点。这是我的java文件中的代码。

Tv = ((TextView) view.findViewById(R.id.textviewH));
    SpannableString s = new SpannableString("www.Google.com");
    Linkify.addLinks(s, Linkify.WEB_URLS);
    if (Tv != null) 
    {
        Tv.setText(s);
        Tv.setMovementMethod(LinkMovementMethod.getInstance());

    }

我尝试将 www.google.com 替换为

<ahref="www.google.com">Google</a>

但这甚至无法编译。必须有某种 SpannableString 的输入参数配置允许这样做。有任何想法吗?

4

2 回答 2

1

你可以很容易地做到这一点。这是一个例子。

我已经在你的问题中编辑了这个解决方案。

Tv = ((TextView) view.findViewById(R.id.textviewH));
SpannableString s = new SpannableString("Google");

if (Tv != null) 
{
    Tv.setText(s);
text.setSpan(new URLSpan("http://www.google.com/"),0, 5, 0);

Tv.setMovementMethod(LinkMovementMethod.getInstance());
Tv.setText(text, BufferType.SPANNABLE);
}

我希望你会对这个答案感到高兴......

于 2013-08-04T16:51:54.447 回答
0

您可以手动设置 url 跨度:

SpannableString s = new SpannableString("Link to Google");
s.setSpan(new URLSpan("http://www.google.com"), 0, s.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

或者从 html 创建它:

Spanned s = Html.fromHtml("<a href=\"http://www.google.com\">Google</a>");
于 2013-08-04T15:25:47.627 回答