У меня есть кнопка, которая при щелчке перебирает слово и помещает это слово в текстовое представление.
Я хочу, чтобы textview отображал только заглавные буквы.
Как я могу это сделать?
Спасибо.
Если вы хотите, чтобы TextView заглаждал все, что помещено в него, вы можете установить атрибут capize для XML в TextView.
Если вы имеете в виду, что хотите получить только прописные буквы ex:
"Привет!" → "HT"
Тогда вам понадобится немного кода Java (из памяти, непроверенный):
private static String removeLowercase(String input)
{
if(input == null)
return null;
String retVal = "";
for(int i=0; i < input.length(); i++)
{
char c = input.charAt(i);
if(Character.isUpperCase(c))
retVal += c;
}
return retVal;
}
Затем вы можете установить текст в TextView:
myTV.setText(removeLowercase("SomeInput"));
Использование android: textAllCaps: true будет работать как шарм
<TextView
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="3"
android:text="@string/app_name"
android:textAllCaps="true"
android:layout_gravity="center_vertical"
android:textStyle="bold"
android:typeface="sans" />
В коде Java используйте
text.toUpperCase()
Это преобразует текст во все прописные буквы
text.toUpperCase()