Android EditText Capital Characters
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android EditText Capital Characters相关的知识,希望对你有一定的参考价值。
我有一个edittext,我想要在大写字母中输入edittext中显示的任何字符。我用过这个:
edittext.setInputType(InputType.TYPE_TEXT_FLAG_CAP_CHARACTERS);
但它没有用。我想动态地做。有任何想法吗。
答案
黑客的类型,试试这个:
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中,如果这不起作用..
另一答案
你只需要尝试使用android:inputType属性。
根据您的要求,您可以加入android:inputType="textCapCharacters"
另一答案
在你的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中
以上是关于Android EditText Capital Characters的主要内容,如果未能解决你的问题,请参考以下文章
Android从零单排系列七《Android视图控件——EditText》
Android从零单排系列七《Android视图控件——EditText》