如何将字符添加到用户光标所在的 EditText

How to add a Character to an EditText where the User's Cursor is

我希望用户能够按下一个按钮并添加某个字符,例如“<”,并且在光标所在的位置添加字符后,我希望光标移动到添加后角色,就像他在键盘上按下它一样。

如果我只保存 EditText 的当前内容并添加一个字符,它只会将其添加到末尾,并重置光标的位置。

您可以尝试如下操作:

EditText edittext = findViewById(R.id.edittext);
Button button = findViewById(R.id.button)b

button.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                int cursorPosition = edittext.getSelectionStart();
                String enteredText = edittext.getText().toString();
                String startToCursor = enteredText.subSequence(0, cursorPosition);
                String cursorToEnd = enteredText.subSequence(cursorPosition, enteredText.length());

                String finalString = startToCursor + "<" + cursorToEnd;
                edittext.setText(finalString);
                edittext.setSelection(cursorPosition+1);
            )
});

参考文献:,