要实现Honeywell EDA51K扫码的值进行自动换行,你可以使用以下代码:\n\njava\nEditText editText = findViewById(R.id.editText);\neditText.addTextChangedListener(new TextWatcher() {\n @Override\n public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {\n }\n\n @Override\n public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {\n }\n\n @Override\n public void afterTextChanged(Editable editable) {\n String text = editable.toString();\n if (text.length() > 0) {\n StringBuilder stringBuilder = new StringBuilder(text);\n int index = 0;\n while (index + 20 < stringBuilder.length() && (index = stringBuilder.lastIndexOf(" ", index + 20)) != -1) {\n stringBuilder.replace(index, index + 1, "\n");\n }\n editText.removeTextChangedListener(this);\n editText.setText(stringBuilder.toString());\n editText.setSelection(stringBuilder.length());\n editText.addTextChangedListener(this);\n }\n }\n});\n\n\n在这个示例中,我们首先获取到EditText的实例,然后为其添加一个TextWatcher。在TextWatcher的afterTextChanged方法中,我们获取输入的文本,并使用StringBuilder对文本进行处理。我们循环遍历文本,每隔20个字符检查是否有空格,如果有,则在该位置插入换行符。最后,我们在设置文本之前先移除TextWatcher,以避免重复调用afterTextChanged方法。设置完文本后,我们重新添加TextWatcher,并将光标定位到文本末尾。这样,当你扫码输入时,文本会自动换行。


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

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