是否可以发送过去的命令,以便将文本粘贴到当前聚焦的编辑文本中。场景:
我知道如何用ClipboardManager
复制文本,但我不知道如何粘贴它。
发布于 2013-10-04 17:22:16
您可以使用以下代码复制和粘贴文本: :
粘贴剪贴板= (ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE);ClipboardManager ClipData = ClipData.newPlainText("your_text_to_be_copied");clipboard.setPrimaryClip(clip);
ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);String pasteData = "";//如果包含数据,则决定是否可以处理这些数据。if (!(clipboard.hasPrimaryClip(){} if (!(clipboard.getPrimaryClipDescription().hasMimeType(MIMETYPE_TEXT_PLAIN))) { //因为剪贴板有数据,但它不是纯文本} else {//因为剪贴板包含纯文本。ClipData.Item item = clipboard.getPrimaryClip().getItemAt(0);//获取文本形式的剪贴板。pasteData = item.getText().toString();}
有关更多详细信息,请查看here
发布于 2017-03-31 10:16:51
如果你只是想将一些代码“复制并粘贴”到你的应用程序中,你可以使用以下方法。
#复制
String textToCopy = etCodeWindow.getText().toString();
ClipboardManager clipboard = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
ClipData clip = ClipData.newPlainText(null, textToCopy);
if (clipboard == null) return;
clipboard.setPrimaryClip(clip);
#粘贴
获取要粘贴的文本
ClipboardManager clipboard = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
if (clipboard == null) return;
ClipData clip = clipboard.getPrimaryClip();
if (clip == null) return;
ClipData.Item item = clip.getItemAt(0);
if (item == null) return;
CharSequence textToPaste = item.getText();
if (textToPaste == null) return;
或
ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
try {
CharSequence textToPaste = clipboard.getPrimaryClip().getItemAt(0).getText();
} catch (Exception e) {
return;
}
或者在Kotlin中也是如此
val clipboard = (getSystemService(Context.CLIPBOARD_SERVICE)) as? ClipboardManager
val textToPaste = clipboard?.primaryClip?.getItemAt(0)?.text ?: return false
将其插入到光标位置的
如果有选择,则选择内容将替换为粘贴文本。
int start = Math.max(myEditText.getSelectionStart(), 0);
int end = Math.max(myEditText.getSelectionEnd(), 0);
myEditText.getText().replace(Math.min(start, end), Math.max(start, end),
textToPaste, 0, textToPaste.length());
#注意事项
如果你已经不再支持pre-API11,那么你可以看到
android.content.ClipboardManager
和发布于 2014-06-07 22:00:15
在honeycomb >= API 13之后,对以上内容做一个简短的总结:
public String readFromClipboard() {
ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
if (clipboard.hasPrimaryClip()) {
android.content.ClipDescription description = clipboard.getPrimaryClipDescription();
android.content.ClipData data = clipboard.getPrimaryClip();
if (data != null && description != null && description.hasMimeType(ClipDescription.MIMETYPE_TEXT_PLAIN))
return String.valueOf(data.getItemAt(0).getText());
}
return null;
}
https://stackoverflow.com/questions/19177231
复制相似问题