Je ne parle pas non plus de textInput. Je veux dire qu’une fois que vous avez du texte statique dans un TextView (alimenté par un appel de firebase database à des données saisies par l’utilisateur (qui peuvent ne pas être en majuscule)), comment puis-je m’assurer qu’ils sont en majuscules?
Merci!
Je devrais être capable d’accomplir ceci par la manipulation standard de chaîne de Java, rien d’Android ou de TextView spécifique.
Quelque chose comme:
Ssortingng upperSsortingng = mySsortingng.subssortingng(0,1).toUpperCase() + mySsortingng.subssortingng(1);
Bien qu’il y ait probablement un million de façons d’y parvenir. Voir la documentation sur les chaînes .
android:inputType="textCapSentences"
ou
TV.sname.setInputType(InputType.TYPE_TEXT_FLAG_CAP_SENTENCES);
Cela va CAP la première lettre.
ou
comstack 'org.apache.commons:commons-lang3:3.4' //in build.gradle module(app) tv.setText(SsortingngUtils.capitalize(mySsortingng.toLowerCase().sortingm()));
SsortingngBuilder sb = new SsortingngBuilder(name); sb.setCharAt(0, Character.toUpperCase(sb.charAt(0))); return sb.toSsortingng();
Vous pouvez append Apache Commons Lang dans Gradle comme comstack 'org.apache.commons:commons-lang3:3.4'
Et utilisez WordUtils.capitalizeFully(name)
Pour les futurs visiteurs, vous pouvez également (au mieux à WordUtil
) importer WordUtil
partir d’ Apache
et append de nombreuses méthodes utiles à votre application, telles que la mise en capitalize
comme indiqué ici:
Comment capitaliser le premier caractère de chaque mot dans une chaîne
Veuillez créer un TextView personnalisé et l’utiliser:
public class CustomTextView extends TextView { public CapitalizedTextView(Context context, AtsortingbuteSet attrs) { super(context, attrs); } @Override public void setText(CharSequence text, BufferType type) { if (text.length() > 0) { text = Ssortingng.valueOf(text.charAt(0)).toUpperCase() + text.subSequence(1, text.length()); } super.setText(text, type); } }
Pour moi, pas de travail:
Fonction:
private Ssortingng getCapsSentences(Ssortingng tagName) { Ssortingng[] splits = tagName.toLowerCase().split(" "); SsortingngBuilder sb = new SsortingngBuilder(); for (int i = 0; i < splits.length; i++) { String eachWord = splits[i]; if (i > 0 && eachWord.length() > 0) { sb.append(" "); } Ssortingng cap = eachWord.subssortingng(0, 1).toUpperCase() + eachWord.subssortingng(1); sb.append(cap); } return sb.toSsortingng(); }
Résultat:
brain
I / P brain
O / P
I / P Brain and Health
O / P Brain And Health
brain And health
I / P brain And health
à O / P Brain And Health
brain's Health
I / P à brain's Health
O / P
brain's Health and leg
I / P brain's Health and leg
à brain's Health and leg
O / P
J’espère que cela vous aidera.
Je cherchais ceci et l’ai trouvé. Si vous ajoutez ceci à EditText dans un fichier XML, vous prendrez ce que vous voulez.
android:inputType="textCapWords"
Aussi, lorsque vous avez terminé votre texte et appuyez sur Entrée, le clavier disparaîtra.
De rien!