gpt4 book ai didi

Android 如何从剪贴板 onPrimaryClipChanged 获取字符串?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:51:32 33 4
gpt4 key购买 nike

我正在尝试使用以下监听器将文本复制到剪贴板中:

import android.content.ClipboardManager.OnPrimaryClipChangedListener;
import com.orhanobut.logger.Logger;

public class ClipboardListener implements OnPrimaryClipChangedListener
{

public void onPrimaryClipChanged()
{
// do something useful here with the clipboard
// use getText() method
Logger.d("Clipped");
}
}

监听器初始化如下:

ClipboardManager clipBoard = (ClipboardManager)getSystemService(CLIPBOARD_SERVICE);
clipBoard.addPrimaryClipChangedListener( new ClipboardListener());

将文本复制到剪贴板后 onPrimaryClipChanged 被触发,但我不知道如何使用 ClipboardManager.getPrimaryClip() 在此方法中获取复制的文本因为该方法在上下文中不可用,并且未在 onPrimaryClipChanged 的参数中传递。

最佳答案

我建议按如下方式添加监听器,而不是创建新类。我已经介绍了如何从 ClipData 中获取文本。

您提到无法在监听器中访问您的上下文,我在下面的代码中添加了一条注释来说明如何操作。

ClipboardManager clipBoard = (ClipboardManager)getSystemService(CLIPBOARD_SERVICE);
clipBoard.addPrimaryClipChangedListener(new OnPrimaryClipChangedListener() {

@Override
public void onPrimaryClipChanged() {
ClipData clipData = clipBoard.getPrimaryClip();
ClipData.Item item = clipData.getItemAt(0);
String text = item.getText().toString();

// Access your context here using YourActivityName.this
}
});

关于Android 如何从剪贴板 onPrimaryClipChanged 获取字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38214257/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com