如何解决剪切,复制,粘贴到android
| 我想在我的EditText中实现剪切,复制,粘贴功能,我尝试使用以下代码: ClipMan = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
editbox1.setText(ClipMan.getText());
粘贴文本,但将整个文本粘贴到另一个Editbox中。我想复制所选文本并将该文本粘贴到同一Editbox中,就像普通记事本一样。
任何建议都将不胜感激...
谢谢 !!
解决方法
用于复制数据
ClipData clip = ClipData.newPlainText(\"simple text\",Value);
ClipMan.setPrimaryClip(clip);
并获取复制的数据
CharSequence pasteData=\"\";
ClipData.Item item = clipboard.getPrimaryClip().getItemAt(0);
pasteData = item.getText();
您可以使用EditText.getText()
代替Value
。
和EditText.setText(pasteData);
粘贴该数据。
, 最后,我能够复制并粘贴到应用程序中。现在,我可以使用以下代码粘贴仅选定的文本:
Editable s1;
EditText editbox2;
复制所选文本:
if(editbox2.getSelectionEnd() > editbox2.getSelectionStart())
{
s1 = (Editable) editbox2.getText().subSequence(editbox2.getSelectionStart(),editbox2.getSelectionEnd());
}else
{
s1 = (Editable) editbox2.getText().subSequence(editbox2.getSelectionEnd(),editbox2.getSelectionStart());
}
粘贴所选文本:
editbox2.getText().replace(Math.min(editbox2.getSelectionStart(),editbox2.getSelectionEnd()),Math.max(editbox2.getSelectionStart(),s1,s1.length());
, 我们可以这样:
int min2 = 0;
int max2 = editText.getText().length();
if (editText.isFocused()) {
final int selStart = editText.getSelectionStart();
final int selEnd = editText.getSelectionEnd();
min2 = Math.max(0,Math.min(selStart,selEnd));
max2 = Math.max(0,Math.max(selStart,selEnd));
}
ClipData abc = myClipboard.getPrimaryClip();
ClipData.Item item = abc.getItemAt(0);
String text = item.getText().toString();
editText.getText().replace(min2,max2,text);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。