如何将字符添加到用户光标所在的编辑文本



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

如果我只是保存 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);
)
});

参考资料: https://stackoverflow.com/a/6900610/10487248 , https://stackoverflow.com/a/20838294/10487248

最新更新