任何人都可以告诉我如何在按下按钮时将特定文本视图中的文本复制到剪贴板?Thanx :)
@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 :)
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
}
我想在按下按钮bCopy时将TextView textView中的Text复制到剪贴板!请帮忙......
clipboard android copy-paste clipboard-interaction clipboardmanager
根据Android 文档,ClipData使用"label"作为复制数据的一种表示.
ClippedData是一个包含一个或Item实例的复杂类型,每个实例都可以包含一个或多个数据项的表示.为了向用户显示,它还具有标签和图标表示.
然后它进一步解释了"标签"作为某些API文档中剪辑数据的用户可见标签.但是,我仍然对标签的使用感到困惑.
该标签对用户如何可见?我该怎么用?当我调用ClipData工厂方法时,我应该为此标签设置什么newPlainText(CharSequence label, CharSequence text)
?例如:
private void copyToClipBoard() {
ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
ClipData clip = ClipData.newPlainText(
"text label", // What should I set for this "label"?
"content to be copied");
clipboard.setPrimaryClip(clip);
Toast.makeText(AboutActivity.this, "Saved to clip board", Toast.LENGTH_SHORT).show();
}
Run Code Online (Sandbox Code Playgroud)
先感谢您:)
是否可以发送过去的命令,以便将文本粘贴到当前聚焦的编辑文本中.场景:
我知道如何复制文本ClipboardManager
,但我不知道如何粘贴它.
android.text.ClipboardManager
自API级别11以来已弃用,并替换为android.content.ClipboardManager
(源).
如何编写支持这两种情况的代码?导入android.content.ClipboardManager
和使用在11+中工作但强制关闭10.更改导入以android.text.ClipboardManager
在11+中抛出一堆弃用警告.
我怎样才能顺利处理这两个案件?我需要导入什么?
我将文本复制到剪贴板时遇到问题.我尝试像这样复制:
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 );
Run Code Online (Sandbox Code Playgroud)
但问题出在编译器抛出:
Call requires API level 11 (current min is 7): android.content.ClipboardManager#setPrimaryClip line 245 Android Lint Problem.
Run Code Online (Sandbox Code Playgroud)
如何在android API <11上将文本复制到剪贴板?如果我在复制前尝试检查android的API版本 - 我的代码甚至无法编译.也许有人知道这个问题的答案?
我正在修改旧的Android应用程序.我有一个GPS lat和long存储在一个字符串值中,并在解析时在一个不可编辑的文本框中显示给用户.我想添加一个简单地获取字符串值的按钮,并将其复制到剪贴板.
我看过这个: 如何在我的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);
}
Run Code Online (Sandbox Code Playgroud)
我收到了这个错误:http: //i.imgur.com/sQ4um.jpg
适用于API级别<11的剪贴板代码在API级别> = 11的设备上崩溃.
适用于API级别> = 11的剪贴板代码在API级别<11的设备上崩溃.
我无法为两个版本编译代码,因为它们具有冲突的导入要求.
一个需要:import android.text.ClipboardManager;
而另一个需要:import android.content.ClipboardManager;
当然有一种方法可以编写一些代码,这些代码可以在API级别11的两端工作.我只是想不出来.
***编辑(因为我无法回答我自己的问题)*******
我发现了这个问题.异常消息说:"无法在未调用Looper.prepare()的线程内创建处理程序."
显然我必须跳过一些更多的箍,因为我从Async任务执行此代码.
我想在temprory内存中复制一些文本:
TextView tv = (int)findViewById(R.id.txt);
String str = tv.getText().toString();
Run Code Online (Sandbox Code Playgroud)
现在如何在剪贴板中复制str ???
在尝试将TextView文本复制到剪贴板时,我做错了什么?
我的活动类中的代码:
@Override
public boolean onContextItemSelected(MenuItem item) {
String selectedItem = item.getTitle().toString().trim();
try {
ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
ClipData clip;
if (selectedItem.equals("Copy Query")) {
clip = ClipData.newPlainText("Query",tv1.getText());
clipboard.setPrimaryClip(clip);
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
错误:
04-17 03:10:54.056: E/AndroidRuntime(503): FATAL EXCEPTION: main
04-17 03:10:54.056: E/AndroidRuntime(503): java.lang.NoClassDefFoundError: android.content.ClipboardManager
04-17 03:10:54.056: E/AndroidRuntime(503): at com.ewe.radixcalculator.CalculatorActivity.onContextItemSelected(CalculatorActivity.java:68)
04-17 03:10:54.056: E/AndroidRuntime(503): at android.app.Activity.onMenuItemSelected(Activity.java:2199)
04-17 03:10:54.056: E/AndroidRuntime(503): at com.android.internal.policy.impl.PhoneWindow$ContextMenuCallback.onMenuItemSelected(PhoneWindow.java:2744)
04-17 03:10:54.056: E/AndroidRuntime(503): at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:143)
04-17 03:10:54.056: E/AndroidRuntime(503): at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:855)
04-17 03:10:54.056: E/AndroidRuntime(503): at com.android.internal.view.menu.MenuDialogHelper.onClick(MenuDialogHelper.java:137)
04-17 03:10:54.056: E/AndroidRuntime(503): at com.android.internal.app.AlertController$AlertParams$3.onItemClick(AlertController.java:874) …
Run Code Online (Sandbox Code Playgroud) 我刚刚发现这个代码只在android 2.x上崩溃我的应用程序
ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
clipboard.setText(textView1.getText());
Run Code Online (Sandbox Code Playgroud)
我想...我需要在运行此方法之前添加检查android版本,这是允许在Android 2.x上运行的正确代码吗?
谢谢!
我想将文本从 复制TextField
到Clipboard
。我的 TextField 已命名txtDetails
,我有一个名为btnCopyToClipBoard
的按钮。当我按下按钮时,我希望能够将我的文本字段的内容复制到剪贴板。
输入框名称为“txtDetails”按钮名称为“btnCopyToClipBoard”
String StrTemp = txtDetails.getText();
Run Code Online (Sandbox Code Playgroud)
那么我们如何设置“btnCopyToClipBoard”的“OnClickListener”以将“StrTemp”中的值复制到ClipBoard
android ×11
clipboard ×9
copy ×2
copy-paste ×2
textview ×2
android-view ×1
api ×1
button ×1
contextmenu ×1
java ×1
string ×1
text ×1