【发布时间】:2012-09-23 16:06:24
【问题描述】:
TextView 有android:TextIsSelectable="true"。但是,长按时,用户只能选择与一个 TextView 关联的文本。我该怎么做才能拥有“全选”功能?谢谢。
【问题讨论】:
标签: android
TextView 有android:TextIsSelectable="true"。但是,长按时,用户只能选择与一个 TextView 关联的文本。我该怎么做才能拥有“全选”功能?谢谢。
【问题讨论】:
标签: android
Android 没有默认行为允许用户从 Textview 列表中选择文本。
如果你想要这个功能,你需要创建一个监听器来监听你选择的事件,比如长按你的一个文本视图,然后你需要从你的文本视图中获取所有文本并对文本做任何你想做的事情。
获得所有文本后,您可以将其全部存储在剪贴板中 (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
完成此操作后,您可以添加自己的菜单,然后在选择时执行某些操作。
【讨论】: