有一个EditText
,我想要的是当我选择它时,我应该获得光标的位置。 edittext的最大长度为13。
在我的编辑文本中,前三个字符的类型为文本,另一个字符的类型为数字。如果选择了前三个字符,则键盘的输入类型应显示文本。并且如果选择了其他任何字符,则输入类型应为数字。该怎么做?
答案 0 :(得分:1)
我认为这段代码可以帮助您❤:
类代码:
edittext = (EditText) findViewById(R.id.edtxt);
edittext.setInputType(InputType.TYPE_CLASS_TEXT);
edittext.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(final CharSequence s, int start, int before, int count) {
if (edittext.getText().length() < 3 ) {
edittext.setInputType(InputType.TYPE_CLASS_TEXT);
}
else if (edittext.getText().length() == 3 ) {
edittext.setInputType(InputType.TYPE_CLASS_NUMBER);
}}
@Override
public void afterTextChanged(Editable s) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
});}}
Xml 代码:
<EditText
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:maxLength="13"
android:id="@+id/edtxt"
android:ems="10"/>