Android:从TextView复制到剪贴板选定的文本

时间:2011-07-08 12:59:33

标签: android copy textview clipboard

是否有可能仅从TextView UI组件复制到剪贴板中的所选文本?

我抓住了长按事件并将全文复制到剪贴板,但现在我想指定要从TextView复制的选择的开始和结束。

谢谢。

2 个答案:

答案 0 :(得分:98)

TextView tv;
String stringYouExtracted = tv.getText().toString();
int startIndex = tv.getSelectionStart();
int endIndex = tv.getSelectionEnd();
stringYouExtracted = stringYouExtracted.subString(startIndex, endIndex);
ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
clipboard.setText(stringYouExtracted);

编辑(以前是完整的答案,但我错误地回答了我的答案,所以我想补充一下)

使用较新的API,将最后两行更改为:

if(android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.HONEYCOMB) {
    android.text.ClipboardManager clipboard = (android.text.ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
    clipboard.setText(stringYouExtracted);
} else {
    android.content.ClipboardManager clipboard = (android.content.ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
    android.content.ClipData clip = android.content.ClipData.newPlainText("Copied Text", stringYouExtracted);
            clipboard.setPrimaryClip(clip);
}

"Copied Text"是您在较新APIS中的COPY实体的标题

答案 1 :(得分:1)

你可以这样做:

Server

用TextView替换EditText