Solución:
Si bien puede usar Html.fromHtml (), puede usar un enfoque más nativo que es SpannableStringBuilder, esta publicación puede ser útil.
SpannableStringBuilder str = new SpannableStringBuilder("Your awesome text");
str.setSpan(new android.text.style.StyleSpan(android.graphics.Typeface.BOLD), INT_START, INT_END, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
TextView tv=new TextView(context);
tv.setText(str);
Simplemente construya su String en HTML y configúrelo:
String sourceString = "<b>" + id + "</b> " + name;
mytextview.setText(Html.fromHtml(sourceString));
Primero: no necesita preocuparse por usar el código de rendimiento lento de la respuesta de Raghav Sood.
Segundo: no necesita escribir una función de extensión proporcionada por la respuesta de w3bshark cuando usa Kotlin.
Finalmente: todo lo que necesita hacer es usar la biblioteca Kotlin android-ktx de Google (consulte aquí para encontrar más información y cómo incluirla en su proyecto):
// Suppose id = 1111 and name = neil (just what you want).
val s = SpannableStringBuilder()
.bold { append(id) }
.append(name)
txtResult.setText(s)
Produce: 1111 neil
ACTUALIZAR:
Porque creo que puede ayudar a alguien más, así como demostrar hasta dónde puede llegar, aquí hay más casos de uso.
-
Cuando necesite mostrar un texto con algunas partes en azul y cursiva:
val myCustomizedString = SpannableStringBuilder() .color(blueColor, { append("A blue text ") }) .append("showing that ") .italic{ append("it is painless") }
-
Cuando necesite mostrar un texto en negrita y cursiva:
bold { italic { append("Bold and italic") } }
En breve, bold
, append
, color
y italic
son funciones de extensión para SpannableStringBuilder
. Puedes ver otras funciones de extensión en la documentación oficial, desde donde puedes pensar en otras posibilidades.