Java 如何在EditText中获取选定的光标位置?

Java 如何在EditText中获取选定的光标位置?,java,android,android-studio,android-edittext,Java,Android,Android Studio,Android Edittext,有一个EditText,我想要的是当我选择它时,我应该得到光标的位置。编辑文本的最大长度为13 同样在我的edittext中,前三个字符的类型是text,另一个字符的类型是number。如果选择了前三个字符,键盘的输入类型应显示文本。如果选择了任何其他字符,则输入类型应为number。如何做到这一点?我认为这段代码可以帮助您❤ : 类别代码: edittext=(edittext)findViewById(R.id.edtText); edittext.setInputType(InputTyp

有一个
EditText
,我想要的是当我选择它时,我应该得到光标的位置。编辑文本的最大长度为13


同样在我的edittext中,前三个字符的类型是text,另一个字符的类型是number。如果选择了前三个字符,键盘的输入类型应显示文本。如果选择了任何其他字符,则输入类型应为number。如何做到这一点?

我认为这段代码可以帮助您❤ :

类别代码:

edittext=(edittext)findViewById(R.id.edtText);
edittext.setInputType(InputType.TYPE\u CLASS\u TEXT);
edittext.addTextChangedListener(新的TextWatcher(){
@凌驾
public void onTextChanged(最终字符序列,int start,int before,int count){
if(edittext.getText().length()<3){
edittext.setInputType(InputType.TYPE\u CLASS\u TEXT);
}   
else if(edittext.getText().length()==3){
edittext.setInputType(InputType.TYPE\类别\编号);
}}
@凌驾
公共无效后文本已更改(可编辑){
}
@凌驾
更改前文本之前的公共void(字符序列s、int start、int count、int after){
}
});}}
Xml代码:



到目前为止您尝试了什么?我试过了,但我不想这样做。你们明白这个问题吗?@Inasecat它一点也不重复。再次阅读问题。您需要根据用户键入的内容设置EditText
inputType
?是的,我需要设置EditText inputType。但前三个字符的类型是text,另一个字符的类型是numberI使用addTextChangedListener,但我用另一种方式做了