gpt4 book ai didi

android - 如何附加到 TextView 并从 TextView 中删除最后一个字母?

转载 作者:行者123 更新时间:2023-11-29 15:07:31 25 4
gpt4 key购买 nike

我想在 android 的 textview 中添加文本,但是当按下退格键时,最后一个字符应该被删除。

  • 我正在使用软键盘
  • 我正在动态创建 TextView
  • 在调度/按下软键盘键时更新textview

这是我的代码:

@Override
public boolean dispatchKeyEvent(KeyEvent KEvent){
keyaction = KEvent.getAction();

if(keyaction == KeyEvent.ACTION_DOWN){
keycode = KEvent.getKeyCode();
keyunicode = KEvent.getUnicodeChar(KEvent.getMetaState() );
character = (char) keyunicode;
textView.setText(""+character);
}
return super.dispatchKeyEvent(KEvent);
}

每次我按下一个键,textview 都会设置一个新字符,并且之前的字符会被覆盖。此外,如果按下退格键,最后添加的字符将被删除

有什么方法可以对 textview 执行此操作吗?

最佳答案

你可以使用

textView.append("" + character);

或者

textView.setText(textView.getText().toString() + character);

这是 TextView.append() 的文档

它似乎可能会导致您的 TextView() 中出现额外的填充,如 this question 所述(并已修复) .

您可能还想检查它。

更新

检测退格键:

您可能想要添加一些安全检查(例如字符串长度和不同的 null 等)

if(keyaction == KeyEvent.ACTION_DOWN){
if(keycode == KeyEvent.KEYCODE_DEL){
// Remove last char from string (like backspace would do)
textView.setText(textView.getText().toString().substring(0, textView.getText().length() - 1));
} else {
textView.append("" + character);
}
}

关于android - 如何附加到 TextView 并从 TextView 中删除最后一个字母?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35600177/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com