有人能告诉我当一个按钮被按下时,如何将特定文本视图中的文本复制到剪贴板上吗?
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mainpage);
textView = (TextView) findViewById(R.id.textview);
copyText = (Button) findViewById(R.id.bCopy);
copyText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
String getstring = textView.getText().toString();
// Help to continue :)
}
});
}
我想在按下按钮bCopy
时将TextView textView中的文本复制到剪贴板。
发布于 2013-10-09 00:59:23
ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
ClipData clip = ClipData.newPlainText(label, text);
clipboard.setPrimaryClip(clip);
确保导入了android.content.ClipboardManager
而不是android.text.ClipboardManager
。后者已弃用。有关详细信息,请查看此link。
发布于 2015-02-28 18:17:10
下面是将文本复制到剪贴板的方法:
private void setClipboard(Context context, String text) {
if(android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.HONEYCOMB) {
android.text.ClipboardManager clipboard = (android.text.ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
clipboard.setText(text);
} else {
android.content.ClipboardManager clipboard = (android.content.ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
android.content.ClipData clip = android.content.ClipData.newPlainText("Copied Text", text);
clipboard.setPrimaryClip(clip);
}
}
这种方法在所有android设备上都有效。
发布于 2013-12-24 00:07:08
就用这个吧。它只适用于android api >= 11,在此之前,你必须使用ClipData。
ClipboardManager _clipboard = (ClipboardManager) _activity.getSystemService(Context.CLIPBOARD_SERVICE);
_clipboard.setText(YOUR TEXT);
希望对您有所帮助:)
UPDATE 3/19/2015正如Ujjwal Singh所说的那样,setText
方法现在已弃用,您应该使用setPrimaryClip(clipData),就像文档中建议的那样。
https://stackoverflow.com/questions/19253786
复制相似问题