java - 如何在android中的多行EditText中设置文本或将文本添加到特定行?

标签 java android

我想在 Android 中设置文本或将文本添加到 EditText 中的特定行?有没有可用的方法?

据我所知 setText 将覆盖整个文本,而 append 将在末尾添加文本,有什么具体的方法可以实现我想要做的事情吗?

我知道如何从特定行读取和获取文本,但如何更改该文本而不干扰其下方和上方的其他行?

最佳答案

1) 获取Editable来自EditText使用EditText#getText();

2) 对 Editable 进行修改您已完成上一步。

Editable有一个方法insert(int where, CharSequence text) - 用它插入你想要的地方。

3) 将其设置回 EditText使用EditText#setText(); (设置整体修改Editable返回)

如果你想知道 Editable 中哪里有行尾标志您收到后,在其中搜索新行字符(又名“\n”),然后使用此位置在 '\n' 之后插入一些内容,如果你想插入由EditText对齐的特定行,那么你需要使用EditText的“对齐引擎” ,我不知道它是如何工作的细节,所以如果你想这样做,你需要阅读源代码。

关于java - 如何在android中的多行EditText中设置文本或将文本添加到特定行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40079285/

相关文章:

android - 当给定参数不同时如何正确地继续任务

android - 带异步任务和自定义适配器的 ListFragment

java - 从网络浏览器录制视频

java - 查找包含给定单词 :optimization required 的最短子字符串的方法

java - 从相机 Intent 拍摄照片并在其上覆盖另一个小图像

android - 自定义搜索建议 AppCompat 主题时出错

android - 在 Listview 内的 textview 中像 facebook 一样继续阅读

java - Android傻瓜代码错误

java - JVM 找不到我的类 : java. lang.NoClassDefFoundError

java - 如何修复 Java :26: error: No suitable constructor found