Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在android中剪切、复制、粘贴_Android_Clipboard_Android Edittext - Fatal编程技术网

在android中剪切、复制、粘贴

在android中剪切、复制、粘贴,android,clipboard,android-edittext,Android,Clipboard,Android Edittext,我想在EditText中实现剪切、复制、粘贴功能,我尝试了以下代码: ClipMan = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); editbox1.setText(ClipMan.getText()); 用于粘贴文本,但它会将整个文本粘贴到另一个编辑框中..我想复制所选文本并将该文本粘贴到同一个编辑框中,就像普通记事本一样 非常感谢您的任何建议。。。 谢谢 用于复制数据 ClipData c

我想在EditText中实现剪切、复制、粘贴功能,我尝试了以下代码:

    ClipMan = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
    editbox1.setText(ClipMan.getText());
用于粘贴文本,但它会将整个文本粘贴到另一个编辑框中..我想复制所选文本并将该文本粘贴到同一个编辑框中,就像普通记事本一样

非常感谢您的任何建议。。。 谢谢

用于复制数据

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(粘贴数据)用于粘贴该数据。

最后,我可以复制、粘贴到我的应用程序中。现在,我可以使用此代码仅粘贴选定的文本:

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);

感谢CapDroid,我使用的是android 2.1 sdkVersion 7,它没有解析ClipData,显示“ClipData无法解析为类型”你知道吗?糟糕的是,大多数示例都有ClipData,并且只能从3.0版开始使用。。。!这是不可用的,因为大多数人使用Froyo或Previor,目前这看起来很酷。你能帮我把文本粘贴到一个webview中吗?之前文本是在这个webview中复制的。因为在webview中找不到用于编辑文本的id。若要复制和粘贴,请执行以下操作:。要剪切,只需先复制,然后删除所选内容。