URLSpan在SpannableString [英] URLSpan in SpannableString

查看:92
本文介绍了URLSpan在SpannableString的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我下面用SpannableString这个例子:
<一href=\"http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/text/Link.html\" rel=\"nofollow\">http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/text/Link.html

I am following this example in using SpannableString: http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/text/Link.html

我想创建具有R.string.text1字符串由R.string.text2但R.string.text2(有10个字符)的URL格式如下:

I am trying to create a string which has 'R.string.text1' following by R.string.text2 but R.string.text2 (has 10 characters) in URL format:

SpannableString ss = new SpannableString(getString(R.string.text1));
ss.setSpan(new URLSpan(getString(R.string.text2)), 0, 10, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

但我越来越为


  1. 我没有看到字符串R.string.text2在所有

  2. ,仅前10个字符是URL格式为:

我怎么能解决我的问题?

how can I fix my problem?

感谢您。

推荐答案

我可以纠正你?

SpannableString ss = new SpannableString(getText(R.string.text1)+" "+getText(R.string.text2));
ss.setSpan(new URLSpan(getString(R.string.text2)),
    getString(R.string.text1).length()+1,
    ss.length(),
    Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

比较晚,但至少为他人做^^

quite late, but at least done for the others ^^

您也可以这样来做:

SpannableString ss1 = new SpannableString(getText(R.string.text1));
// do what you want with ss1
SpannableString ss2 = new SpannableString(getText(R.string.text2)); // the text visible
ss2.setSpan(new URLSpan(getString(R.string.text2)), // this is the link itself
    0,
    ss2.length(), // link on entire text
    Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

CharSequence csSS = TextUtils.concat(ss1, ss2); // import android.text.TextUtils;

这篇关于URLSpan在SpannableString的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆