如何在Android应用中以编程方式复制文本?

我正在构建一个Android应用程序,并且想要复制EditText小部件的文本值。用户可以按Menu+A然后Menu+C复制该值,但是我将如何以编程方式执行此操作?



森栏
浏览 489回答 3
3回答

12345678_0001

使用ClipboardManager#setPrimaryClip方法:import android.content.ClipboardManager;// ...ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE); ClipData clip = ClipData.newPlainText("label", "Text to copy");clipboard.setPrimaryClip(clip);ClipboardManager API参考

四季花海

因此,每个人都同意应如何完成此工作,但是由于没人愿意提供完整的解决方案,因此请按以下步骤进行:int sdk = android.os.Build.VERSION.SDK_INT;if(sdk < android.os.Build.VERSION_CODES.HONEYCOMB) {&nbsp; &nbsp; android.text.ClipboardManager clipboard = (android.text.ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);&nbsp; &nbsp; clipboard.setText("text to clip");} else {&nbsp; &nbsp; android.content.ClipboardManager clipboard = (android.content.ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);&nbsp;&nbsp; &nbsp; android.content.ClipData clip = android.content.ClipData.newPlainText("text label","text to clip");&nbsp; &nbsp; clipboard.setPrimaryClip(clip);}我假设您在清单中声明了以下内容:<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="14" />

MYYA

Googling将您带到android.content.ClipboardManager,您可以像我所做的那样确定剪贴板在API <11上不可用,因为文档页面上显示“ Since:API Level 11”。实际上有两个类,第二个扩展了第一个类-android.text.ClipboardManager和android.content.ClipboardManager。android.text.ClipboardManager自API 1起就存在,但仅适用于文本内容。android.content.ClipboardManager是使用剪贴板的首选方法,但在API级别<11(Honeycomb)上不可用。要获取它们中的任何一个,您需要以下代码:ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);但是对于API <11,您必须导入android.text.ClipboardManager,对于API> = 11 android.content.ClipboardManager
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android