Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to disable paste option in android EditText

I have a requirement where EditText doesn't allow paste but it should allow copy. I tried setCustomSelectionActionModeCallback but it disables the copy option.

EditText  etxt = (EditText) findViewById(R.id.editText1);
etxt.setCustomSelectionActionModeCallback(new 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;
            }
        });
like image 725
Surendra Avatar asked Nov 10 '22 09:11

Surendra


1 Answers

I did it myself..credit goes to Android intercept paste\copy\cut on editText

I just changed onTextContextMenuItem() based on my requirement..

@Override
    public boolean onTextContextMenuItem(int id) {
        // Do your thing:
        //boolean consumed = super.onTextContextMenuItem(id); // Change1
        // React:
        switch (id){
            case android.R.id.cut:
                onTextCut();
                break;
            case android.R.id.paste:
                onTextPaste();
                return false;       //Change2
                //break;
            case android.R.id.copy:
                onTextCopy();
        }
        return true; // Change3
    }
like image 94
Surendra Avatar answered Nov 14 '22 23:11

Surendra