9

有 TextView.append(),但这会将文本添加到 TextView 的末尾。我希望我附加的内容在开头(即显示在 TextView 框的顶部)。

4

4 回答 4

11

你试过这个

 textview.setText(" append string" + textView.getText());

虽然这种方法会丢失跨度。

于 2012-08-15T18:54:56.777 回答
8

如果您担心跨度,您可以使用这样的东西:

textView.getEditableText().insert(0, "string to prepend");
于 2012-08-15T20:56:51.507 回答
3

getEditableText() 返回 null 给我。相反,为了将文本添加到可扩展文本中,我在代码中将文本缓冲区类型设置为 SPANNABLE::

myTextView.setText(myText, TextView.BufferType.SPANNABLE);

或在 TextView 上使用 xml 属性android:bufferType

然后将 getText() 转换为 Spannable,然后我将额外的文本与现有文本连接起来:

Spannable currentText = (Spannable) tvTitle.getText();
CharSequence indexedText = TextUtils.concat(String.format("%d. ", index), currentText);
myTextView.setText(indexedText);

据我所知,所有功能都可以从 API 级别 1 获得。

于 2013-02-15T10:15:36.653 回答
2

然后使用要附加的字符串说“你好”到文本视图

textview.setText("hello"+textView.getText())
于 2012-08-15T18:56:03.027 回答