java – 复制支持旧版和新版本的剪贴板管理器?

前端之家收集整理的这篇文章主要介绍了java – 复制支持旧版和新版本的剪贴板管理器?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试在 android上编辑文本,对于另一个问题,最投票答案提供了这些行,但是当使用它们时,我得到错误:类需要API级别11(当前最小为8):
ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
ClipData clip = ClipData.newPlainText("label","Text to copy");
clipboard.setPrimaryClip(clip);

我直接从问题中复制了这些行.尝试后
导入android.content.ClipboardManager;我测试导入android.text.ClipboardManager;但是它也产生错误.对于ClipboardManager类型,setPrimaryClip(ClipData)方法未定义,并且不推荐使用关于ClipboardManager的警告.

我的应用程序支持Android 2.2(我认为API 8),如何复制文本,使其适用于所有版本的Android?

解决方法

尝试使用以下内容
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
    final android.content.ClipboardManager clipboardManager = (android.content.ClipboardManager) context
            .getSystemService(Context.CLIPBOARD_SERVICE);
    final android.content.ClipData clipData = android.content.ClipData
            .newPlainText("text label","text to clip");
    clipboardManager.setPrimaryClip(clipData);
} else {
    final android.text.ClipboardManager clipboardManager = (android.text.ClipboardManager) context
            .getSystemService(Context.CLIPBOARD_SERVICE);
    clipboardManager.setText("text to clip");
}

猜你在找的Java相关文章