复制字符串值到剪贴板的按钮

6
我正在修改一个旧的Android应用程序。我有一个GPS纬度和经度存储在字符串值中,并在解决时显示给用户在一个不可编辑的文本框中。我想添加一个按钮,它只需获取字符串的值,并将其复制到剪贴板。
我查看了这个链接:如何在我的Android应用程序中编程复制文本?,但不确定如何实现它。任何帮助都将是极好的,因为我最近在这个领域的开发中没有接触过太多。
谢谢。
编辑:
    //Set button (inside oncreate method)
    Button button = (Button)this.findViewById(R.id.buttoncopylocation);
    button.setOnClickListener(this);

//Code added in onClick method
@Override
public void onClick(View arg0) {
    // TODO Auto-generated method stub
    ClipboardManager clipboard = (ClipboardManager)   getSystemService(Context.CLIPBOARD_SERVICE);
    ClipData clip = ClipData.newPlainText("Copied", mycoords);
    clipboard.setPrimaryClip(clip);
}

我遇到了这个错误:http://i.imgur.com/sQ4um.jpg

如果您能发布那段代码,就可以帮助我们设置剪贴板中的文本。 - Hassan Jawed
@Trickster,我已经添加了代码来帮助。 - GrumP
你的目标API级别是多少?自API级别11起,ClipData已经可用。 - Angelo.Hannes
<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="11"/> - GrumP
1
请查看这个讨论。另外,为了澄清最小SDK版本和目标SDK版本,请参考这个讨论 - Angelo.Hannes
2个回答

21

如果只是文本,那么非常简单。

ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
ClipData clip = ClipData.newPlainText("label","Your Text");
clipboard.setPrimaryClip(clip);

了解更多信息,请查看此链接


这个可以用,谢谢(稍微改了一下):public void onClick(View arg0) { android.text.ClipboardManager clipboard = (android.text.ClipboardManager)getSystemService(CLIPBOARD_SERVICE); clipboard.setText(mycoords); Toast.makeText(getApplicationContext(), "已复制文本到剪贴板", Toast.LENGTH_SHORT).show(); - GrumP

-1

在进行操作之前,请提供一个上下文。

getSystemService(Context.CLIPBOARD_SERVICE);

Context context = ...;
ClipboardManager clipboard = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接