当前位置: 首页 > 知识库问答 >
问题:

Android:将文本插入EditText当前位置

壤驷阳波
2023-03-14

我想通过按下按钮将常量字符串插入EditText中。字符串应插入EditText中的当前位置。如果我使用edittext.append,文本将插入到edittext的末尾。

我怎么能那么做?我找不到合适的方法

共有1个答案

柳修平
2023-03-14

奥伦德警长给了我正确的暗示。现在,我部分地通过使用edittext.getSelectionStart()解决了这个问题,但是我意识到您也可以用相同的表达式替换选定的文本,因此不需要string.substring()

int start = Math.max(myEditText.getSelectionStart(), 0);
int end = Math.max(myEditText.getSelectionEnd(), 0);
myEditText.getText().replace(Math.min(start, end), Math.max(start, end),
        textToInsert, 0, textToInsert.length());

这对两者都有效,在当前位置插入文本并替换用户选择的任何文本。在第一行和第二行中,Math.max()是必需的,因为如果EditText中没有选择或游标,getSelectionStart()getSelectionEnd()都将返回-1。第三行中的math.min()math.max()是必需的,因为用户可以向后选择文本,因此start的值将高于end,这对于editable.replace()是不允许的。

 类似资料:
  • 我想创建一个简单的函数,将文本添加到用户光标位置的文本区域中。它需要是一个干净的函数。只是基本的。剩下的我都知道了。

  • 在上一节我们讲到了 TextView,它用来显示一段文本。这一节可以算作成是 TextView 的延续,因为从功能上 EditText 在 TextView 的基础之上多了一个输入的功能;从代码上 EditText 是继承自 TextView 的子类,所以我们可以大胆的理解为, EditText 是一种带有输入功能的高级 TextView。 1. EditText 的特性 在学习过 TextVie

  • 问题内容: 我想将imageview放在edittext内。这有没有可能?我检查了“ evernote”应用程序,它能够将照片放在edittext部分上。我想使我的应用程序完全一样。如何放置从图库中选择的imageview并将照片放置在edittext中? 我首先尝试将imageview放在.xml文件的relativelayout内,但是这给我带来了一个错误标志。 我应该在.xml文件上执行吗?

  • 所以我要实现的有两个部分 一个im给我的edittext提供密码切换,对此im使用Android.support.design.Widget TextInputLayout+TextInputeDitText 这就是我的edittext的样子 2.还有,如何让setError消息代替passwordToggle图标出现(一旦我通过代码隐藏了它)

  • 问题内容: 我需要在键入时替换EditText内的文本:示例:如果用户按下“ A”,它将被存储到缓冲区中,而在EditText上显示“ D”(看起来就像他按下“ D”)。现在,我可以读取按下的字符,但是在et中不能显示任何字符,以避免stackoverflow: 问题答案: 您可以根据需要更改它:

  • 我的布局中有一个编辑文本,我尝试过在我的编辑文本中放置提示或文本。 当我第一次触摸或点击edittext时,移动键盘弹出输入文本,这是预期的,但edittext中的文本或提示不会被删除。我必须点击2次编辑文本,然后第一次移动键盘弹出,第二次点击删除文本。 我希望在第一次点击本身的文本应该从edittext删除。 例如:假设EditText将初始文本作为用户名,那么当用户第一次单击EditText时