在Android中强调文本,该文本在字符串替换中持续存在

时间:2016-12-19 21:11:19

标签: android string replace underline

this question的答案完全适合我的文字......第一次。我有一些资源文件定义的字符串:

<string name="permission_replace">PERMISSION</string>
<string name="warn_permission">This app needs PERMISSION to work properly. Update in <u>settings</u>.</string>

<u>标记在我第一次显示文本时正常工作,但当我去替换占位符("PERMISSION")时,下划线会丢失。以下是我正在进行替换的方式:

warnPermissionText.setText(warnPermissionText.getText().toString().replaceAll(getString(R.string.permission_replace),"some permission text"));

如何通过替换保留下划线标签?或者我只需要以编程方式将它们重新添加进去?我不确定第一轮的格式是什么魔法。

1 个答案:

答案 0 :(得分:2)

任何时候你打电话给toString(),你都会说&#34;嘿,摆脱我在那里的所有好格式&#34;。

The TextUtils class有许多实用方法可以直接应用于CharSequence,因此应该保留格式。在您的情况下,the replace() method应该有效,至少在简单的情况下。

在您的具体情况下,如果您将This app needs PERMISSION to work properly. Update in <u>settings</u>.更改为This app needs %s to work properly. Update in <u>settings</u>.并在%s来电中提供getString()的值,您也可以使用the N-parameter form of getString()