android复制粘贴剪切的功能

1.重新EditText  onTextContextMenuItem(int id) 方法

// 系統常量
// 全選
    private static final int ID_SELECT_ALL = android.R.id.selectAll;
// 複製
    private static final int ID_COPY = android.R.id.copy;
// 黏貼
    private static final int ID_PASTE = android.R.id.paste;

 @Override
    public boolean onTextContextMenuItem(int id) {
        //监听系统复制黏贴剪切的功能
        if (id == android.R.id.paste)
        {
            String copy = getCopyText();
            this.setText(copy);
            return true;
        }
        return super.onTextContextMenuItem(id);
    }


2设置,获取设置的复制内容

  /***
     * 设置复制内容到复制系统
     * @param label 描述
     * @param content 复制内容
     * @return
     */
    public static boolean copyText(String label, String content) {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
            android.content.ClipboardManager clipboardManager = (ClipboardManager) ApplicationEntity.getApplication().getSystemService(Context.CLIPBOARD_SERVICE);
            if (clipboardManager == null) {
                return false;
            }
            clipboardManager.setPrimaryClip(ClipData.newPlainText(label, content));
            return true;
        } else {
            android.text.ClipboardManager clipboardManager = (ClipboardManager) ApplicationEntity.getApplication().getSystemService(Context.CLIPBOARD_SERVICE);
            if (clipboardManager == null) {
                return false;
            }
            clipboardManager.setText(content);
            return true;
        }
    }

    /***
     * 获取复制内容
     * @return
     */
    public static String getCopyText() {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
            android.content.ClipboardManager clipboardManager = (ClipboardManager) ApplicationEntity.getApplication().getSystemService(Context.CLIPBOARD_SERVICE);
            if (clipboardManager == null || !clipboardManager.hasPrimaryClip()) {
               return "";
            }

            // 检查剪贴板是否有内容
            ClipData clipData = clipboardManager.getPrimaryClip();
            if (clipData == null && clipData.getItemCount() <= 0) {
                return "";
            }

            return clipData.getItemAt(0).getText().toString();

        } else {
            android.text.ClipboardManager clipboardManager = (ClipboardManager) ApplicationEntity.getApplication().getSystemService(Context.CLIPBOARD_SERVICE);
            if (clipboardManager != null && clipboardManager.hasText()) {

                return "";
            }
            return clipboardManager.getText().toString();
        }
    }



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值