首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何禁用从/向EditText复制/粘贴

如何禁用从/向EditText复制/粘贴
EN

Stack Overflow用户
提问于 2011-06-08 15:05:12
回答 25查看 117.2K关注 0票数 138

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

 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默认键盘之外的第三方键盘,则出现问题,该第三方键盘可能具有用于复制/粘贴的按钮,或者可能显示相同的上下文菜单。那么在这种情况下如何禁用复制/粘贴呢?

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

任何帮助都将不胜感激。

EN

回答 25

Stack Overflow用户

发布于 2012-12-11 21:15:48

最好的方法是使用:

etUsername.setLongClickable(false);
票数 140
EN

Stack Overflow用户

发布于 2014-09-25 09:23:46

您可以通过禁用EditText的长按来完成此操作

要实现它,只需在xml中添加以下行-

android:longClickable="false"
票数 52
EN

Stack Overflow用户

发布于 2012-09-06 13:56:01

我可以使用以下命令禁用复制和粘贴功能:

textField.setCustomSelectionActionModeCallback(new ActionMode.Callback() {

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

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

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

    public void onDestroyActionMode(ActionMode actionMode) {
    }
});

textField.setLongClickable(false);
textField.setTextIsSelectable(false);

希望它能为您工作;-)

票数 38
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6275299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档