Je ne parle pas non plus de textInput. Je veux dire qu'une fois que vous avez du texte statique dans un TextView (alimenté à partir d'un appel de base de données vers des données entrées par l'utilisateur (qui peuvent ne pas être en majuscules)), comment puis-je m'assurer qu'ils sont en majuscules?
Merci!
Réponses:
Je devrais être capable d'accomplir cela grâce à une manipulation de chaîne Java standard, rien de spécifique à Android ou TextView.
Quelque chose comme:
Bien qu'il existe probablement un million de façons d'y parvenir. Consultez la documentation String .
EDITED J'ai ajouté le
.toLowerCase()
la source
Ce qui suit ne s'applique pas à TextView, mais fonctionne avec EditText; même dans ce cas, il s'applique au texte saisi à partir du clavier, pas au texte chargé avec setText (). Pour être plus précis, il active les majuscules sur le clavier, et l'utilisateur peut remplacer cela à sa guise.
ou
Cela mettra un CAP sur la première lettre.
ou
la source
la source
pour Kotlin, il suffit d'appeler
la source
Vous pouvez ajouter Apache Commons Lang dans Gradle comme
compile 'org.apache.commons:commons-lang3:3.4'
Et utilise
WordUtils.capitalizeFully(name)
la source
Pour les futurs visiteurs, vous pouvez aussi (mieux à mon humble avis) l' importation à
WordUtil
partirApache
et ajouter un grand nombre de méthodes utiles pour vous application, commecapitalize
comme indiqué ici:Comment mettre en majuscule le premier caractère de chaque mot dans une chaîne
la source
Pour moi, aucun travail:
Fonction:
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(); }
Résultat:
Cerveau I / P
brain
O / PI / P
Brain and Health
O / PBrain And Health
I / P
brain And health
à O / PBrain And Health
I / P
brain's Health
à O / PBrain's Health
I / P
brain's Health and leg
à O / PBrain's Health And Leg
J'espère que cela vous aidera.
la source
La réponse acceptée est bonne, mais si vous l'utilisez pour obtenir des valeurs à partir d'un textView sous Android, il serait bon de vérifier si la chaîne est vide. Si la chaîne est vide, elle lèvera une exception.
la source
Pour Kotlin, si vous voulez être sûr que le format est "Aaaaaaaaa", vous pouvez utiliser:
la source
Veuillez créer un TextView personnalisé et l'utiliser:
la source
Ici, j'ai écrit un article détaillé sur le sujet, car nous avons plusieurs options, Capitaliser la première lettre de chaîne dans Android
Méthode pour mettre en majuscule la première lettre d'une chaîne en Java
Méthode pour mettre en majuscule la première lettre de chaîne dans Kotlin
Utilisation de l'attribut XML
Ou vous pouvez définir cet attribut dans TextView ou EditText en XML
la source