android string s%,Android:在Strings,SpannedStrings和Spannablestrings之间转换

我有一个名为“foo”的字符串资源。它可能是一个简单的字符串…或者可能包含HTML。这可能会随着时间的推移而改变:我应该可以把它当作至少一个SpannableString来立即将它们看成是否是HTML(但是如何)

我想要获得那个原始的CharSequence,并且首先可以按原样显示(确切的字符,而不是Android的“解释”)。现在我不能这样做… toString()决定撕掉它不认为我想看到的部分。

然后,我想通过使用某种方法(没有一个正常工作)通过连接从这个和其他字符串或SpannableStrings创建一个SpannableString。我想使用SpannableString在TextView中显示HTML格式的文本。

这不应该是困难的,但显然我没有做到这一点(到目前为止我已经发现了很少的信息)。当然有一种方法可以准确地在Strings,SpannedStrings甚至Spannablestrings之间进行互换,而不会丢失标记。

请注意,我已经玩了一些有点破碎的Linkify,但是我想要更好地控制进程(没有悬挂未格式化的“/”,正确的hrefs等)我可以得到这一切工作,如果我保持在HTML中步骤,虽然我不能连接任何东西。

编辑1:我已经学会了我可以使用以下内容来始终确保我得到我的原始字符串(而不是Android决定它认为CharSequence真的是)。好,现在,如何把这个哄骗成一个SpannableString?

Some bold

]]>

编辑2:不知道为什么这不起作用,但是如果foo1和foo2是上面标记的字符串(如CDATA),那么可以明显地这样做:

String foo1 = (String)getResources().getText(R.string.foo1);

String foo2 = (String)getResources().getText(R.string.foo2);

SpannedString bar = new SpannedString(Html.fromHtml(foo1+foo2));

好奇:有没有比这更直接的解决方案?这个CDATA业务是否真的有必要?这似乎很复杂(但不是很复杂,因为从来不知道资源类型将是… String,Spannable等)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值