复制文本字段的文本

时间:2014-05-05 15:22:55

标签: android eclipse copy textfield

我有一个文本字段和一个按钮。按下按钮后,我会立即将其复制到要复制的文本字段的文本中。如何才能做到这一点?当我搜索它(How to copy text programmatically in my Android app?)时,我读到了一个ClipboardManager方法,但有传言称它也被弃用了。我应该避免吗?谢谢

3 个答案:

答案 0 :(得分:2)

Honeycomb弃用了android.text.ClipboardManager并介绍了android.content.ClipboardManager

您应该检查android.os.Build.VERSION.SDK_INT是否至少android.os.Build.VERSION_CODES.HONEYCOMB,因此请使用其中一个。

    if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.HONEYCOMB)
    {
        // Old clibpoard
        android.text.ClipboardManager clipboard = (android.text.ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE);
        clipboard.setText("the text");
    } 
    else
    {
        android.content.ClipboardManager clipboard = (android.content.ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE);
        android.content.ClipData clipData = android.content.ClipData.newPlainText("PlainText", "the text");
        clipboard.setPrimaryClip(clipData);
    }       

答案 1 :(得分:1)

尝试link中的答案..它说

 int sdk = android.os.Build.VERSION.SDK_INT;
            if(sdk < android.os.Build.VERSION_CODES.HONEYCOMB) {
                android.text.ClipboardManager clipboard = (android.text.ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
                clipboard.setText("text to clip");
            } else {
                android.content.ClipboardManager clipboard = (android.content.ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); 
                android.content.ClipData clip = android.content.ClipData.newPlainText("text label","text to clip");
                clipboard.setPrimaryClip(clip);
            }

答案 2 :(得分:-1)

Copy/Paste Offical Tutoiral 看看

相关代码:

ClipboardManager clipboard = (ClipboardManager)
    getSystemService(Context.CLIPBOARD_SERVICE);
Copy the data to a new ClipData object:
For text

// Creates a new text clip to put on the clipboard
 ClipData clip = ClipData.newPlainText("simple text","Hello, World!");