Kotlin: cadena de formatting

Tengo una vista Reciclar que quiero iterar y agregar un punto de viñeta delante de cada cadena de input.

Tengo lo siguiente:

value.strings.xml

<string name="skill">• %1$s</string> 

ProfileListAdapter:

 fun bindSkills(skill: String) { itemView.recycleSkillItem.text = String.format(Locale(R.string.skill.toString()), ${R.string.skill}, skill) } 

Esto imprime el mismo int una y otra vez sin el punto de viñeta.

¿Cuál es la mejor práctica para formatear cadenas en kotlin?

Debes aprender cómo funciona Android primero. R.string.skill devuelve el id de recurso de la cadena que es un Int Para get el String, desde el recurso, debe usar

 context.getString(resId) 

También es compatible con el formatting de cadenas.

 context.getString(R.string.skill, skill) 

context puede ser cualquier cosa que extienda Context , es decir, Activity , Fragment .

Para formatear String en Kotlin, utiliza la interpolación de cadenas.

 val world = "World" val helloWorld = "Hello $world" // Hello World 
  • Usar puntos en identificadores xml
  • Android no ha podido crear instancias de una o más classs
  • ¿Por qué agregar una Vista a mi layout cambia el ancho de todo el layout?
  • Validar files XML grandes contra grandes XSD, ¿hay alguna manera rápida de hacerlo?
  • ¿Qué ventajas ofrece kotlin para la creación de templates XML?
  • Los colors de Android Material Design no se aplican de forma coherente
  • problemas de layout y errores en aplicaciones de Android desarrolladas usando kotlin
  • ¿Cómo analizar xml en la encoding de la aplicación Android?
  • ¿Cómo puedo usar la callback en Kotlin?
  • No se puede deshacer una colección de objects xml usando JAXB y Kotlin
  • Agregar vista personalizada a includedView