猿问

如何禁用从编辑文本复制/粘贴到编辑文本

如何禁用从编辑文本复制/粘贴到编辑文本

在我的应用程序中,有一个注册屏幕,我不希望用户能够将文本复制/粘贴到EditText场。我设置了一个onLongClickListener每一个EditText这样显示复制/粘贴/inputMethod和其他选项的上下文菜单就不会出现。因此,用户将无法复制/粘贴到编辑字段。

 OnLongClickListener mOnLongClickListener = new OnLongClickListener() {

        @Override
        public boolean onLongClick(View v) {
            // prevent context menu from being popped up, so that user
            // cannot copy/paste from/into any EditText fields.
            return true;
        }
    };

但是,如果用户启用了一个第三方键盘(而不是android默认值),则会出现问题,该键盘可能有一个按钮可复制/粘贴,或者显示相同的上下文菜单。那么,在这种情况下,如何禁用复制/粘贴呢?

如果还有其他方法复制/粘贴,请告诉我。(可能还有如何禁用它们)

任何帮助都将不胜感激。


偶然的你
浏览 565回答 3
3回答

狐的传说

如果您使用的API级别11或更高,那么您可以停止复制,粘贴,剪切和自定义的上下文菜单出现在旁边。edittext.setCustomSelectionActionModeCallback(new ActionMode.Callback() {             public boolean onPrepareActionMode(ActionMode mode, Menu menu) {                 return false;             }             public void onDestroyActionMode(ActionMode mode) {                               }             public boolean onCreateActionMode(ActionMode mode, Menu menu) {                 return false;             }             public boolean onActionItemClicked(ActionMode mode, MenuItem item) {                 return false;             }         });从onCreateActionMode(ActionMode,菜单)返回false将阻止操作模式的启动(选择所有、剪切、复制和粘贴操作)。

FFIVE

最佳方法是使用:etUsername.setLongClickable(false);

杨__羊羊

您可以通过禁用编辑文本的长按压来做到这一点。要实现它,只需在XML中添加以下行-android:longClickable="false"
随时随地看视频慕课网APP

相关分类

Android
我要回答