首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android Charsequence -替换文本

Android Charsequence -替换文本
EN

Stack Overflow用户
提问于 2015-08-24 16:18:27
回答 4查看 1.8K关注 0票数 1

由于HTML在字符串资源中的使用,我不能将其从charsequence转换为string (否则我将丢失格式)。

代码语言:javascript
复制
<string name="exponent_key">x<sup><small>y</small></sup>/string>

在使用getString()之后,我想用'other stuff‘替换'y’,但是你怎么做呢?这似乎是一个简单的问题,但由于某些原因,我找不到任何关于它的东西。

编辑:考虑到这一点,我是否可以将charsequence转换为包含HTML代码的字符串,然后再将其转换回charsequence?

编辑:忘记提到字符串被设置为按钮标题,然后被检索(在那里使用它)。

EN

回答 4

Stack Overflow用户

发布于 2015-08-24 16:39:39

的确有。创建一个函数,其中您接受一个需要格式化的字符串作为参数。在函数中,您只需通过迭代器获取它,然后再使用Html.fromHtml()

票数 0
EN

Stack Overflow用户

发布于 2015-08-24 16:42:15

让我们将您的问题分成多个步骤:

  • 用"other stuff“替换y可以这样做:

String.format("%1$","otherStuff");

  • If你使用getString(),你可以这样做:

%1$ - String string = getString(R.string.exponent_key,"otherStuff");

  • For多个元素,这样做:你可以这样做:

%1$:%2$ - getString(R.string.string_name,new String[]{"hello",“world”});

  • 你不能嵌套String[]代码,因为超文本标记语言是另一种类型的可扩展标记语言,解析器搞乱了,不能识别用于安卓和超文本标记语言的标签。但是..。这里有个小把戏。你可以这样做:

所以,在你的XML中有了上面的字符串,只需要使用

  • 就可以了:

HTML (R.string.exponent_key,"otherStuff");

  • Note:如果需要在TextView中显示getString,只需使用Html.fromHtml:

textView.setText(Html.fromHtml(getString(R.string.exponent_key,"otherStuff")));

票数 0
EN

Stack Overflow用户

发布于 2015-08-24 16:57:39

在你的string.xml中

代码语言:javascript
复制
<string name="exponent_key">x<sup><small>%1$d</small></sup></string>

在代码中

代码语言:javascript
复制
textView.setText(getString(R.string.exponent_key,2))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32177493

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档