2012-04-30 52 views

回答

3

使用android.text包中的ClipboardManager。他们把它移到了不同​​的包中,因为他们开始支持剪裁文本以外的内容,但为了向后兼容,你仍然可以在旧名称下使用它。

你还是风与东西,如:

ClipboardManager cm=(ClipboardManager)getSystemService(CLIPBOARD_SERVICE); 

    cm.setText("something"); 

Here is a sample project展示这一点。

+0

,我如何能标准复制粘贴(如EditText中所示)为TextView?这复制到剪贴板,但我需要标准的机制。 P.D.我会为此做一个新的线索,这是一个不同的问题。 – Ixx

+0

新问题的线程在这里:http://stackoverflow.com/questions/10386084/how-do-i-enable-standard-copy-paste-for-a-textview-in-android – Ixx

1

这些都是完全跨平台从剪贴板无异常办法复制纯文本到剪贴板和粘贴纯文本在安卓

@SuppressLint("NewApi") @SuppressWarnings("deprecation") 
public void copy(String plainText) 
{ 
    if (android.os.Build.VERSION.SDK_INT < 11) 
    { 
     android.text.ClipboardManager clipboard = (android.text.ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); 
     if (clipboard != null) 
     { 
      clipboard.setText(plainText); 
     } 
    } 
    else 
    { 
     android.content.ClipboardManager clipboard = (android.content.ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); 
     if (clipboard != null) 
     { 
      android.content.ClipData clip = android.content.ClipData.newPlainText("text", plainText); 
      clipboard.setPrimaryClip(clip); 
     } 
    } 
} 

@SuppressLint("NewApi") @SuppressWarnings("deprecation") 
public String paste() 
{ 
    if (android.os.Build.VERSION.SDK_INT < 11) 
    { 
     android.text.ClipboardManager clipboard = (android.text.ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); 
     if (clipboard != null) 
     { 
      return (String) clipboard.getText(); 
     } 
    } 
    else 
    { 
     android.content.ClipboardManager clipboard = (android.content.ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); 
     if (clipboard != null && clipboard.getPrimaryClip() != null && clipboard.getPrimaryClip().getItemCount() > 0) 
     { 
      return (String) clipboard.getPrimaryClip().getItemAt(0).getText(); 
     } 
    } 
    return null; 
}