Android edittext 禁止复制粘贴问题解决方案

来源:互联网 发布:mmd制作软件最新版 编辑:程序博客网 时间:2024/05/19 01:29
 1.平时看到一些博客介绍禁止edittext复制粘贴使用俩种方式

A:通过edittext的设置属性

edittext.setLongClickable(false);
edittext.setTextIsSelectable(false);
  B: 通过设置callback监听
setCustomSelectionActionModeCallback(new ActionMode.Callback() {    @Override    public boolean onCreateActionMode(ActionMode mode, Menu menu) {        return false;   }    @Override    public boolean onPrepareActionMode(ActionMode mode, Menu menu) {        return false;    }    @Override    public boolean onActionItemClicked(ActionMode mode, MenuItem item) {        return false;    }    @Override    public void onDestroyActionMode(ActionMode mode) {    }});但是用过的人知道这些对小米手机并没有给什么卵用
2.现在使用另外一种方式代码如下
package com.dx168.epmyg.view;import android.content.Context;import android.util.AttributeSet;import android.view.ActionMode;import android.view.Menu;import android.view.MenuItem;import android.widget.EditText;/** * Created by jianjun.lin on 16/4/12. */public class NullMenuEditText extends EditText {    boolean canPaste() {        return false;    }    boolean canCut() {        return false;    }    boolean canCopy() {        return false;    }    boolean canSelectAllText() {        return false;    }    boolean canSelectText() {        return false;    }    boolean textCanBeSelected() {        return false;    }    public NullMenuEditText(Context context, AttributeSet attrs) {        super(context, attrs);        setLongClickable(false);        setTextIsSelectable(false);        setCustomSelectionActionModeCallback(new ActionMode.Callback() {            @Override            public boolean onCreateActionMode(ActionMode mode, Menu menu) {                return false;            }            @Override            public boolean onPrepareActionMode(ActionMode mode, Menu menu) {                return false;            }            @Override            public boolean onActionItemClicked(ActionMode mode, MenuItem item) {                return false;            }            @Override            public void onDestroyActionMode(ActionMode mode) {            }        });    }    @Override    public boolean onTextContextMenuItem(int id) {        return true;    }}
布局中直接使用全类名即可;希望可以帮到大家谢谢。
原创粉丝点击