Android edittext只获得一个输入字符

问题描述 投票:1回答:1

我的应用程序中有一个EditText,其中textChangeListener在afterTextChanged上转换数字格式。

这是布局文件中的EditText:

<EditText
            android:id="@+id/zone_name"
            android:layout_width="250dp"
            android:layout_height="match_parent"
            android:background="@drawable/margin_shape_table"
            android:paddingStart="8sp"
            android:paddingEnd="8sp"
            android:singleLine="true"
            android:inputType="text"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintStart_toStartOf="parent"/>

这是我的听众代码:

zoneName.addTextChangedListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {
            String char1 = s.toString();
        }

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {

        }

        @Override
        public void afterTextChanged(Editable s) {
            if (s.length() > 0){
                zoneName.removeTextChangedListener(this);
                zoneName.setText(converter.convertNumbers(s.toString()));
                zoneName.addTextChangedListener(this);
                zoneName.setSelection(s.length());
            }else {
                zoneName.setText("");
            }
        }
    });

问题是,当我在华硕ZenPad8.0(Android 6.0.1)上运行时,它只获得第一个输入的字符,之后“可编辑的s”只包含第一个字符。我在此设备上只有此问题,而对于其他设备,它会获得完整的输入文本。

有人有任何建议如何解决这个问题?

android android-edittext
1个回答
0
投票

该错误与Asus ZenUI's keyboard,你可以添加android:inputType="textNoSuggestions"以避免这个问题。如需更完整的答案,请查看我对另一个问题的回答

https://stackoverflow.com/a/55933884/3880796

© www.soinside.com 2019 - 2024. All rights reserved.