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

时间:2018-07-13 06:43:31

标签: java android android-studio android-edittext

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

在我的编辑文本中,前三个字符的类型为文本,另一个字符的类型为数字。如果选择了前三个字符,则键盘的输入类型应显示文本。并且如果选择了其他任何字符,则输入类型应为数字。该怎么做?

1 个答案:

答案 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"/>