EditText 屏蔽选择、复制、粘贴等一切剪切板的操作

EditText 如何屏蔽选择、复制、粘贴等一切剪切板的操作呢?

找到的资料,总结起来都是这的:

editText.setLongClickable(false);
editText.setCustomSelectionActionModeCallback(new ActionModeCallbackInterceptor());  
 private class ActionModeCallbackInterceptor implements ActionMode.Callback {
        private final String TAG = NoMenuEditText.class.getSimpleName();


        public boolean onCreateActionMode(ActionMode mode, Menu menu) {
            return false;
        }


        public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
            return false;
        }


        public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
            return false;
        }


        public void onDestroyActionMode(ActionMode mode) {
        }
    }

然而,这只能满足部分需求,只能屏蔽选择、复制等行为;而对粘贴的行为,无法起到动作。经过查看EditText源码方法,举一反三,再添加如下代码,可屏蔽粘贴行为:

editText.setCustomInsertionActionModeCallback( new ActionModeCallbackInterceptor());

修正:
setCustomInsertionActionModeCallback此方法在小于Build.VERSION_CODES.M的版本中,不兼容,所以需要以下判断:

        if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.M) {
            // call that method
            this.setCustomInsertionActionModeCallback( new ActionModeCallbackInterceptor());
        }
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值