Kotlin:格式字符串

Joe*_*röm 2 xml string format loops kotlin

我有一个回收视图,我想迭代并在每个输入字符串前面添加一个项目符号点.

我有以下内容:

value.strings.xml

<string name="skill">• %1$s</string>
Run Code Online (Sandbox Code Playgroud)

ProfileListAdapter:

fun bindSkills(skill: String) {

            itemView.recycleSkillItem.text = String.format(Locale(R.string.skill.toString()), ${R.string.skill}, skill)
    }
Run Code Online (Sandbox Code Playgroud)

这会在没有项目符号的情况下反复打印相同的int.

在kotlin中格式化字符串的最佳做法是什么?

Jos*_*hua 7

您应该先了解Android的工作原理.R.string.skill返回字符串的资源ID,这是一个IntTo to the String,来自资源,你必须使用

context.getString(resId)
Run Code Online (Sandbox Code Playgroud)

它还支持字符串格式.

context.getString(R.string.skill, skill)
Run Code Online (Sandbox Code Playgroud)

context可以是任何东西延伸Context,即Activity,Fragment.

String在Kotlin中格式化,请使用字符串插值.

val world = "World"
val helloWorld = "Hello $world"  // Hello World
Run Code Online (Sandbox Code Playgroud)