- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
for (TextView currentText : txts) {
currentText.setTextSize(heightText);
currentText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
ClipboardManager cm = (ClipboardManager)context.getSystemService(Context.CLIPBOARD_SERVICE);
cm.setText(currentText.getText());
Toast.makeText(context, "Copied to clipboard", Toast.LENGTH_SHORT).show();
}
});
}
我已将以上代码放入我的 onCreate 方法中,我的应用程序需要在 API 8+ 上运行。cm.setText(currentText.getText());
给我这个错误无法在不同方法中定义的内部类中引用非最终变量 currentText。并且上下文无法解析为变量。这里有什么问题?可以吗?在我的应用程序中使用已弃用的代码,因为我找不到任何其他可行的方法。
[编辑]现在我的代码是这样的:
for (final TextView currentText : txts) {
currentText.setTextSize(heightText);
currentText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
ClipboardManager cm = (ClipboardManager)this.getSystemService(Context.CLIPBOARD_SERVICE);
cm.setText(currentText.getText());
Toast.makeText(this, "Copied to clipboard", Toast.LENGTH_SHORT).show();
}
});
错误是Toast 类型中的方法 makeText(Context, CharSequence, int)
不适用于参数 (new View.OnClickListener(){}, String, int)
getSystemService(String)
方法未定义类型 new View.OnClickListener(){}
最佳答案
尝试在 for
循环中声明变量 final
:
for (final TextView currentText : txts) {
至于context
,你需要一个context。试试 currentText.getContext()
。或者,由于这显然在 Activity
中,您可以简单地使用 MyActivityClassName.this
而不是 context
。
编辑:您已完成编辑。在 OnClickListener
中,您需要在要引用 Activity 时限定 this
。如果您的 Activity 类名为 MyActivity
,则应该可以使用如下代码:
for (final TextView currentText : txts) {
currentText.setTextSize(heightText);
currentText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
ClipboardManager cm = (ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE);
cm.setText(currentText.getText());
Toast.makeText(MyActivity.this, "Copied to clipboard", Toast.LENGTH_SHORT).show();
}
});
}
请注意,我在调用 getSystemService()
时去掉了 this.
限定符。替代方案是使用 MyActivity.this.getSystemService()
。
关于android - 我收到以下代码的错误并警告 ClipboardManager 类型已弃用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22549594/
注意:导包的时候 API 11之前: android.text.ClipboardManager API 11之后: android.content.ClipboardManager  
如果用户将某些内容复制到剪贴板,我希望收到通知。 我创建了一个服务并在 HomeActivity 中启动它,我还编写了一个计时器来检查我的服务是否正常工作。我检查过,我的服务正在运行 Log cat
for (TextView currentText : txts) { currentText.setTextSize(heightText); currentText
当我将文本复制到剪贴板时,onPrimaryClipChanged 方法被调用了两次。有什么想法吗? @Override public boolean onCreateOptionsMenu(Menu
我正在开发一个 android 应用程序,并且需要将文本(从 listView 项目)复制到剪贴板以便将其粘贴到 editText 中。 所以复制函数看起来像: ClipboardManager c
android.text.ClipboardManager 自 API 级别 11 起已弃用,并替换为 android.content.ClipboardManager ( source )。 如何编
我知道 question is already been asked但是,它仍然不能帮助我解决问题 将数据复制到剪贴板管理器时遇到问题 下面是代码 fun copyToClipboard(contex
Android Q 阻止后台剪贴板访问。有什么方法可以在我的应用程序中使用此服务吗?有权限启用此功能吗? 最佳答案 正如之前传闻的那样,Google 限制了对剪贴板数据的访问。 我在 com.andr
我想实现一个监听器,如果有人从任何应用程序复制任何内容,它将监听。 我听说 ClipboardManager.OnPrimaryClipChangedListener() 它将监听复制操作,但这不是接
我想实现一个监听器,如果有人从任何应用程序复制了任何东西,它就会监听。 我听说 ClipboardManager.OnPrimaryClipChangedListener() 会监听复制操作,但这不是
我想将存储在资源文件夹中的图像复制到剪贴板管理器,以便稍后粘贴到另一个应用程序,如邮件、whatapp 或聊天。我有几个研究人员链接,有人提到这可以通过将 uri 制作到文件来完成。 这是我得到的最好
构建我的应用程序的发布版本时,构建失败并出现以下错误: 错误:错误:可疑转换为 CLIPBOARD_SERVICE 的文本:预期 ClipboardManager [ServiceCast] 调试版本
我用下面的代码来监听剪贴板的变化,我希望在操作完成后移除监听。 但是clipboard.removePrimaryClipChangedListener{ }需要传参,我该怎么办? 代码 btnMo
我在 logcat 中收到一条消息,说明: Failed resolving interface 26 Landroid/content/ClipboardManager$OnPrimaryClipC
我已阅读文章How to pass and get value from fragment and activity android kotlin 我必须将 Activity 中的 var mClip
在我的 Android 应用程序中,我碰巧使用以下代码从 TextView 复制文本。 buttonCopy.setOnClickListener(new View.OnClickListener()
我正在创建一个应用程序,用户可以在 30 秒内将文本复制到剪贴板。 30 秒后,即使应用程序已关闭,文本也需要从剪贴板中删除 在我的主要 Activity 中,我有以下代码: OneTimeWorkR
我是一名优秀的程序员,十分优秀!