2013-03-19 114 views
0

在我的應用程序中,我想讓用戶只輸入大寫字母。所以我使用了大寫財產。Android大寫字符在手機中不起作用

這是一個代碼部分

<EditText 
    android:id="@+id/et5" 
    android:layout_width="140dp" 
    android:layout_height="wrap_content" 
    android:layout_x="127dp" 
    android:layout_y="219dp" 
    android:maxLength="25" 
    android:ems="10" 
    android:singleLine="true" 
    android:capitalize="characters" 
    android:text="" /> 

在某些情況下,我也試過這個

android:inputType="textCapCharacters" 

它工作在模擬器罰款,但它不是在手機工作。在電話中,它顯示小寫字母。這裏有什麼錯誤以及如何克服?

回答

1

嘗試在java類具有這方面的工作是這樣的:

textView.setText(text.toUpperCase()); 

你也可以使用Textwatcher方法來應用利用文字改變

要使它從XML工作,你應該試試這個:

android:inputType="textCapCharacters" 
+0

我想只顯示upp呃情況下,字母鍵盤 – 2013-03-19 05:48:34

+0

好了,然後嘗試安卓的inputType =「textCapCharacters」作爲利用已廢棄 – 2013-03-19 05:55:12

+0

textCapSentences只大寫第一個字母 – 2013-03-19 05:56:08

0
edittext.addTextChangedListener(new TextWatcher() { 

@Override 
public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {    

} 
    @Override 
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, 
       int arg3) {    
} 
@Override 
public void afterTextChanged(Editable arg0) { 
     String s=arg0.toString(); 
    if(!s.equals(s.toUpperCase())) 
    { 
    s=s.toUpperCase(); 
    edittext.setText(s); 
    } 
} 
});  
+0

我已經提到過。我只想顯示大寫字母鍵盤 – 2013-03-19 05:56:31

0

試試這個

<EditText 
android:inputType="textCapCharacters" /> 


<EditText 
android:inputType="textCapWords" /> 

,或者你可以在Java編程文件做

String str = et.getText.toString().toUpperCase(); 
1

試試這個:

editText.setFilters(new InputFilter[] {new InputFilter.AllCaps()}); 

和XML的EditText屬性設置爲:

android:inputType="text|textCapCharacters" 

希望它能幫助:)