要实现Honeywell EDA51K扫码的值进行自动换行,你可以使用以下代码:

EditText editText = findViewById(R.id.editText);
editText.addTextChangedListener(new TextWatcher() {
    @Override
    public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
    }

    @Override
    public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
    }

    @Override
    public void afterTextChanged(Editable editable) {
        String text = editable.toString();
        if (text.length() > 0) {
            StringBuilder stringBuilder = new StringBuilder(text);
            int index = 0;
            while (index + 20 < stringBuilder.length() && (index = stringBuilder.lastIndexOf(" ", index + 20)) != -1) {
                stringBuilder.replace(index, index + 1, "\n");
            }
            editText.removeTextChangedListener(this);
            editText.setText(stringBuilder.toString());
            editText.setSelection(stringBuilder.length());
            editText.addTextChangedListener(this);
        }
    }
});

在这个示例中,我们首先获取到EditText的实例,然后为其添加一个TextWatcher。在TextWatcher的afterTextChanged方法中,我们获取输入的文本,并使用StringBuilder对文本进行处理。我们循环遍历文本,每隔20个字符检查是否有空格,如果有,则在该位置插入换行符。最后,我们在设置文本之前先移除TextWatcher,以避免重复调用afterTextChanged方法。设置完文本后,我们重新添加TextWatcher,并将光标定位到文本末尾。这样,当你扫码输入时,文本会自动换行

Honeywell EDA51K扫码的值进行自动换行

原文地址: http://www.cveoy.top/t/topic/hSyn 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录