gpt4 book ai didi

java - 以编程方式控制 EditText 中的光标和文本

转载 作者:行者123 更新时间:2023-11-29 05:21:37 24 4
gpt4 key购买 nike

我有一个 EditText 框,我想在其中控制光标并以编程方式修改文本

  • 我有 12 个按钮键盘,使用 GridView 中的 12 个按钮。每次按下按钮,我都有一个特定的文本,该文本将被插入到光标位置的 EditText 框中。为此,我需要光标位置,以便我可以在 EditText View 中插入我的自定义文本
  • 我有两个按钮,用于将光标位置向左/向右移动一个字符。或者,也可以通过触摸 EditText View 来设置光标(正如 EditText 应该表现的那样)
  • 此外,每当光标位置发生变化时,我都希望光标在 EditText 中的当前位置(我想我必须实现某种接口(interface),但我不知道如何实现)

到目前为止我尝试了什么

  • 我将按键存储在 ArrayList<String>
  • 我正在设置 edittext.setText(String)每次按下一个键时
  • 可以通过getText()获取可编辑的文本但是setText()只接受字符串。

所以我很困惑。我应该怎么做才能满足我的所有要求。
PS:我是一个 Android 初学者,正在制作我的第二个应用程序(如果有帮助的话,这是一个科学计算器)
另外,如果有人自愿审查我的代码,我将非常感谢他

最佳答案

我不知道为什么您需要 TextView 的光标位置,但请看这里的这个问题:Get Cursor Position in Android in Edit Text?

实际上,您可以通过获取输入来在代码中编辑 TextView 中的文本,或者如果您愿意,您可以实现 TextWatcher 接口(interface)来了解用户在 TextView 中输入的每个输入,如下所示:

 private class CheckText implements TextWatcher {
@Override
public void afterTextChanged(Editable s) {
//triggers after the user changed the input on text
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
//triggers before the user changed the input on text
}
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
//triggers when the user changed the input on text
}
}

关于java - 以编程方式控制 EditText 中的光标和文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24445405/

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