2013-03-19 5 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 эр случае письма клавиатуры –

+0

Ok попробуй андроид: inputType = «textCapCharacters», как извлечь выгоду осуждается –

+0

textCapSentences капитализировать только первая буква –

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

Я уже упоминал. Я хочу показать только клавиатуру с верхним регистром букв –

0

Попробуйте

<EditText 
android:inputType="textCapCharacters" /> 


<EditText 
android:inputType="textCapWords" /> 

или вы можете сделать программны в Java файл

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

Попробуйте это:

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

и установить EditText XML свойство:

android:inputType="text|textCapCharacters" 

Надеется, что это помогает :)

 Смежные вопросы

  • Нет связанных вопросов^_^