Вырезать, скопировать, вставить в android

Я хочу реализовать функцию cut, copy, paste в моем EditText, я попытался использовать следующий код:

ClipMan = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); editbox1.setText(ClipMan.getText()); 

Для вставки текста, но он вставляет весь текст в другое Редактирование. Я хочу скопировать выделенный текст и вставить этот текст в том же 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(), editbox2.getSelectionEnd()),s1, 0, 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);