如何从多个TextView中获取“全选”文本?

时间:2012-09-20 23:40:35

标签: android

TextViews有android:TextIsSelectable="true"。但是,长按此用户可以选择仅与一个TextView关联的文本。如何拥有“全选”功能?感谢。

1 个答案:

答案 0 :(得分:0)

Android没有默认行为允许用户从Textviews列表中选择文本。

如果您需要此功能,则需要创建一个侦听所选事件的侦听器,例如长按其中一个文本视图,然后您需要从文本视图中获取所有文本并做任何你想做的事情。

获得所有文本后,您可以将其全部存储在剪贴板中(http://developer.android.com/guide/topics/text/copy-paste.html

或者您可以通过对每个文本视图执行以下操作来突出显示每个文本视图中的文本(显然可以根据需要进行调整):

TextView TV = (TextView)findViewById(R.id.text);
TV.setText("Italic, highlighted, bold.", TextView.BufferType.SPANNABLE);

Spannable WordtoSpan = (Spannable) TV.getText();

WordtoSpan.setSpan(new BackgroundColorSpan(0xFFFFFF00), 8, 19, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

TV.setText(WordtoSpan);

此外,如果您想为用户提供自定义选项以执行所有这些操作,那么您可以 尝试这个问题中给出的解决方案:Show context menu when link is long pressed in TextView

一旦你这样做,你可以添加自己的菜单,然后在选择它时做一些事情。