Nib*_*ain 8 clipboard android android-edittext
我想在我的EditText中实现剪切,复制,粘贴功能,我尝试使用以下代码:
ClipMan = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
editbox1.setText(ClipMan.getText());
Run Code Online (Sandbox Code Playgroud)
用于粘贴文本,但它将整个文本粘贴到另一个Editbox中.我想复制所选文本并将该文本粘贴到同一个Editbox中,就像普通的记事本一样.
任何建议都非常感谢...谢谢!
用于复制数据
ClipData clip = ClipData.newPlainText("simple text",Value);
ClipMan.setPrimaryClip(clip);
Run Code Online (Sandbox Code Playgroud)
并获取已复制的数据
CharSequence pasteData="";
ClipData.Item item = clipboard.getPrimaryClip().getItemAt(0);
pasteData = item.getText();
Run Code Online (Sandbox Code Playgroud)
在您的情况下,您可以使用EditText.getText()而不是Value..并EditText.setText(pasteData);粘贴该数据.
最后,我可以复制、粘贴到我的应用程序中。现在我可以使用以下代码仅粘贴选定的文本:
Editable s1;
EditText editbox2;
Run Code Online (Sandbox Code Playgroud)
复制所选文本:
if(editbox2.getSelectionEnd() > editbox2.getSelectionStart())
{
s1 = (Editable) editbox2.getText().subSequence(editbox2.getSelectionStart(), editbox2.getSelectionEnd());
}else
{
s1 = (Editable) editbox2.getText().subSequence(editbox2.getSelectionEnd(), editbox2.getSelectionStart());
}
Run Code Online (Sandbox Code Playgroud)
粘贴所选文本:
editbox2.getText().replace(Math.min(editbox2.getSelectionStart(),editbox2.getSelectionEnd()), Math.max(editbox2.getSelectionStart(), editbox2.getSelectionEnd()),s1, 0, s1.length());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10566 次 |
| 最近记录: |