我想在TextView中启用复制粘贴。跨版本(开始api 7(eclair))复制粘贴在Android?
我发现这些漂亮的解释在Android的文档: http://developer.android.com/guide/topics/clipboard/copy-paste.html
但它只能在首发版本11 - 蜂窝!
我需要的东西在这个时候也适用于大多数用户,这意味着它也必须为姜饼,froyo和eclair工作。
我该用什么?
我想在TextView中启用复制粘贴。跨版本(开始api 7(eclair))复制粘贴在Android?
我发现这些漂亮的解释在Android的文档: http://developer.android.com/guide/topics/clipboard/copy-paste.html
但它只能在首发版本11 - 蜂窝!
我需要的东西在这个时候也适用于大多数用户,这意味着它也必须为姜饼,froyo和eclair工作。
我该用什么?
使用android.text
包中的ClipboardManager
。他们把它移到了不同的包中,因为他们开始支持剪裁文本以外的内容,但为了向后兼容,你仍然可以在旧名称下使用它。
你还是风与东西,如:
ClipboardManager cm=(ClipboardManager)getSystemService(CLIPBOARD_SERVICE);
cm.setText("something");
Here is a sample project展示这一点。
这些都是完全跨平台和从剪贴板无异常办法复制纯文本到剪贴板和粘贴纯文本在安卓
@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;
}
,我如何能标准复制粘贴(如EditText中所示)为TextView?这复制到剪贴板,但我需要标准的机制。 P.D.我会为此做一个新的线索,这是一个不同的问题。 – Ixx
新问题的线程在这里:http://stackoverflow.com/questions/10386084/how-do-i-enable-standard-copy-paste-for-a-textview-in-android – Ixx