2011-03-09 80 views
1

我有一个按钮,当它被点击时会乱放一个单词并将该单词放入一个textview中。textview只显示大写字母

我希望textview只显示大写字母。

我该怎么做?

谢谢。

回答

-2

如果你的意思是你想TextView的大写被放入它的一切,那么你可以设置TextView的利用的XML属性。

如果你的意思,你只需要大写字母露面前:“您好”

- > “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")); 
+0

谢谢,我试过这个,但是当我将它添加到像这样的jumble.setText((removeLowercase(wordJ.toString())))这样的混乱的单词函数中时,这似乎不起作用;使编辑文本更容易只有大写字母? – Tommy 2011-03-09 02:38:12

+1

不用担心,我设法通过使用android:inputType =“textCapCharacters”来完成此操作。但是你的代码有助于从混乱的词中删除[]。谢谢:) – Tommy 2011-03-09 02:54:14

2

这将文本转换为大写

text.toUpperCase() 
+0

谢谢,但没有为ArrayList 定义。目前它被设置为jumble.setText(wordJ.toString()); 。 – Tommy 2011-03-09 02:07:11

8

使用Android:textAllCaps:真的,那会像一个魅力

<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()