Nie mówię też o textInput. Chodzi mi o to, że skoro masz tekst statyczny w TextView (wypełniony z wywołania bazy danych do danych wprowadzonych przez użytkownika (które mogą nie być wielkimi literami)), jak mogę się upewnić, że są one pisane wielkimi literami?
Dzięki!
Odpowiedzi:
Powinienem być w stanie to osiągnąć za pomocą standardowej manipulacji ciągami Java, nic specyficznego dla Androida lub TextView.
Coś jak:
Chociaż prawdopodobnie istnieje milion sposobów na osiągnięcie tego. Zobacz dokumentację String .
EDYTOWANO Dodałem
.toLowerCase()
źródło
Poniższe nie dotyczy TextView, ale działa z EditText; nawet wtedy dotyczy to tekstu wprowadzonego z klawiatury, a nie tekstu ładowanego za pomocą funkcji setText (). Mówiąc dokładniej, włącza Caps na klawiaturze, a użytkownik może to zmienić według własnego uznania.
lub
To będzie CAP pierwsza litera.
lub
źródło
źródło
dla Kotlina, po prostu zadzwoń
źródło
Możesz dodać Apache Commons Lang w Gradle jak
compile 'org.apache.commons:commons-lang3:3.4'
I użyć
WordUtils.capitalizeFully(name)
źródło
Dla przyszłych gości, można też (najlepiej IMHO) import
WordUtil
odApache
i dodać wiele przydatnych metod ty aplikacji, jakcapitalize
w poniższym przykładzie:Jak zacząć wielką literę każdego słowa w ciągu
źródło
U mnie nic nie działa:
Funkcjonować:
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(); }
Wynik:
Mózg I / P
brain
O / PI / P
Brain and Health
O / PBrain And Health
I / P
brain And health
do O / PBrain And Health
I / P
brain's Health
do O / PBrain's Health
I / P
brain's Health and leg
do O / PBrain's Health And Leg
Mam nadzieję, że to ci pomoże.
źródło
Zaakceptowana odpowiedź jest dobra, ale jeśli używasz jej do pobierania wartości z textView w systemie Android, dobrze byłoby sprawdzić, czy ciąg jest pusty. Jeśli ciąg jest pusty, zgłosi wyjątek.
źródło
W przypadku Kotlina, jeśli chcesz mieć pewność, że format to „Aaaaaaaaa”, możesz użyć:
źródło
Utwórz niestandardowy TextView i użyj go:
źródło
Tutaj napisałem szczegółowy artykuł na ten temat, ponieważ mamy kilka opcji, Capitalize First Letter of String w Androidzie
Metoda zamieniania pierwszej litery ciągu na wielką literę w języku Java
Metoda kapitalizacji pierwszej litery ciągu w Kotlinie
Korzystanie z atrybutu XML
Lub możesz ustawić ten atrybut w TextView lub EditText w XML
źródło