エディットテキストがあり、エディットテキストに入力した文字を大文字で表示したい。私はこれを使用しました:
edittext.setInputType(InputType.TYPE_TEXT_FLAG_CAP_CHARACTERS);
しかし、それは機能していません。ダイナミックにやりたいです。何か案は。
エディットテキストがあり、エディットテキストに入力した文字を大文字で表示したい。私はこれを使用しました:
edittext.setInputType(InputType.TYPE_TEXT_FLAG_CAP_CHARACTERS);
しかし、それは機能していません。ダイナミックにやりたいです。何か案は。
android:inputType属性を試す必要があります。
要件に応じて、含めることができますandroid:inputType="textCapCharacters"
ハックの種類、これを試してください:
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);
edittext.setSelection(s.length());
}
}
});
これは機能するはずです(チェックする時間がありません)これが機能しない場合は、afterTextChangedのonTextChangedに行を入れてみてください。
editTextでこれを試してくださいandroid:capitalize = "characters"
<EditText
android:id="@+id/editText"
android:layout_width="fill_parent"
android:layout_height="30dp"
android:capitalize="characters"/>
動的に行うには:
edittext.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_CHARACTERS);
EditText txt = FindViewById<EditText>(Resource.Id.textView1);
txt.SetFilters(new Android.Text.IInputFilter[] {
new Android.Text.InputFilterAllCaps()
});
他に何も機能しない場合は、これも試すことができます
String text=editText.getText().toString();
editText.setText(text.toUpperCase());
このコードをEditTextのonTextChangeListenerに追加します