百度到的解决方法:
EditText etPassword
etPassword.setLongClickable(false); etPassword.setTextIsSelectable(false); etPassword.setCustomSelectionActionModeCallback(new ActionMode.Callback() { public boolean onCreateActionMode(ActionMode actionMode, Menu menu) { Log.i("ikms", "onCreateActionMode"); return false; } public boolean onPrepareActionMode(ActionMode actionMode, Menu menu) { return false; } public boolean onActionItemClicked(ActionMode actionMode, MenuItem menuItem) { return false; } public void onDestroyActionMode(ActionMode actionMode) {} });实际使用时发现点击光标下方的指示总能弹出粘贴菜单来。暂时未找到有效方式解决这个问题。
由于实际用到的不让从外部粘贴数据贴进edittext,目前使用监听粘贴操作,不粘贴任何内容来达到目的。
public class PasteListenEditText extends EditText { private static final int ID_PASTE = android.R.id.paste; public PasteListenEditText(Context context, AttributeSet attrs) { super(context, attrs); } @Override public boolean onTextContextMenuItem(int id) { if(id == ID_PASTE){ // ClipboardManager clip = (ClipboardManager)getContext().getSystemService(Context.CLIPBOARD_SERVICE); // clip.setText("[color=#ff0000]APKBus==>[/color]"+clip.getText()); Log.i("debug", "paste"); return true; } else { return super.onTextContextMenuItem(id); } } }