我正在构建一个Android应用程序,我想复制一个EditText小部件的文本值。用户可以先按Menu+A
,然后按Menu+C
来复制值,但是我该如何以编程方式完成此操作呢?
发布于 2008-10-26 17:20:44
使用ClipboardManager#setPrimaryClip
方法:
import android.content.ClipboardManager;
// ...
ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
ClipData clip = ClipData.newPlainText("label", "Text to copy");
clipboard.setPrimaryClip(clip);
发布于 2012-06-13 17:56:11
因此,每个人都同意如何做到这一点,但由于没有人想给出一个完整的解决方案,这里是这样的:
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);
}
我假设您在清单中声明了如下内容:
<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="14" />
发布于 2011-10-31 20:01:30
public void onClick (View v)
{
switch (v.getId())
{
case R.id.ButtonCopy:
copyToClipBoard();
break;
case R.id.ButtonPaste:
pasteFromClipBoard();
break;
default:
Log.d(TAG, "OnClick: Unknown View Received!");
break;
}
}
// Copy EditCopy text to the ClipBoard
private void copyToClipBoard()
{
ClipboardManager clipMan = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
clipMan.setPrimaryClip(editCopy.getText());
}
你可以试试这个..
https://stackoverflow.com/questions/238284
复制相似问题