Tampoco me refiero a textInput. Quiero decir que una vez que tenga texto estático en un TextView (poblado desde una llamada de base de datos a datos ingresados por el usuario (que pueden no estar en mayúscula)), ¿cómo puedo asegurarme de que estén en mayúscula?
¡Gracias!
Respuestas:
Debería poder lograr esto a través de la manipulación estándar de cadenas de Java, nada específico de Android o TextView.
Algo como:
Aunque probablemente hay un millón de formas de lograrlo. Consulte la documentación de cadenas .
EDITADO Agregué el
.toLowerCase()
fuente
Lo siguiente no se aplica a TextView, pero funciona con EditText; incluso entonces, se aplica al texto ingresado desde el teclado, no al texto cargado con setText (). Para ser más específicos, activa las mayúsculas en el teclado y el usuario puede anular esto a su voluntad.
o
Esto pondrá CAP a la primera letra.
o
fuente
fuente
para Kotlin, solo llama
fuente
Puede agregar Apache Commons Lang en Gradle como
compile 'org.apache.commons:commons-lang3:3.4'
Y use
WordUtils.capitalizeFully(name)
fuente
Para los visitantes futuros, también puede (mejor en mi humilde opinión) la importación
WordUtil
desdeApache
y añadir una gran cantidad de métodos útiles para usted APP, al igual quecapitalize
como se muestra aquí:Cómo poner en mayúscula el primer carácter de cada palabra en una cadena
fuente
Para mí nada de trabajo:
Función:
private String getCapsSentences(String tagName) { String[] splits = tagName.toLowerCase().split(" "); StringBuilder sb = new StringBuilder(); for (int i = 0; i < splits.length; i++) { String eachWord = splits[i]; if (i > 0 && eachWord.length() > 0) { sb.append(" "); } String cap = eachWord.substring(0, 1).toUpperCase() + eachWord.substring(1); sb.append(cap); } return sb.toString(); }
Resultado:
Cerebro I / P
brain
O / PI / P
Brain and Health
O / PBrain And Health
I / P
brain And health
a O / PBrain And Health
I / P
brain's Health
a O / PBrain's Health
I / P
brain's Health and leg
a O / PBrain's Health And Leg
Espero que esto te ayude.
fuente
La respuesta aceptada es buena, pero si la está usando para obtener valores de un textView en Android, sería bueno verificar si la cadena está vacía. Si la cadena está vacía, lanzaría una excepción.
fuente
Para Kotlin, si quieres estar seguro de que el formato es "Aaaaaaaaa" puedes usar:
fuente
Cree un TextView personalizado y utilícelo:
fuente
Aquí he escrito un artículo detallado sobre el tema, ya que tenemos varias opciones, Capitalizar la primera letra de cadena en Android
Método para poner en mayúscula la primera letra de una cadena en Java
Método para poner en mayúscula la primera letra de una cadena en Kotlin
Usando el atributo XML
O puede establecer este atributo en TextView o EditText en XML
fuente