一卷旌收千骑虏,万全身出百重围。这篇文章主要讲述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());
【Android EditText Capital Characters】将此代码添加到EditText的onTextChangeListener中
推荐阅读
- SetEditable在最新的Android版本中不起作用
- Android(TextInputLayout不同inputTypes的不同间距)
- 如何在android中显示密码开/关模式的切换按钮
- 笔画没有应用于矩形到xml drawable用作android中的edittext背景
- 在Android中滚动recyclelerview时,Edittext值消失
- 键盘进入Android时,EditText超出了窗口范围
- 将Android EditText格式化为HH(MM:SS)
- Android(BottomSheetDialog中的多行文本EditText)
- android.widget.RelativeLayout无法强制转换为android.widget.EditText