如何将字符添加到用户光标所在的 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);
)
});
参考文献:,
我希望用户能够按下一个按钮并添加某个字符,例如“<”,并且在光标所在的位置添加字符后,我希望光标移动到添加后角色,就像他在键盘上按下它一样。
如果我只保存 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);
)
});
参考文献:,