abhishek kumar gupta
abhishek kumar gupta

Reputation: 2289

How to hide ActionPopupWindow of Text Selection Handler of EditText

Actually I want to hide ActionPopupWindow (popup having SELECT ALL, CLIPBOARD options) when user click on + icon(refer to the attached image).

ActionPopupWindow appears when user click on the Text Selection Handler(bubble) (which appears when user tap on the text in the EditText).

I have tried to use setTextIsSelectable() method of EditText but it is not working consistently.

Any help or guidance will be well appreciated.

enter image description here

Upvotes: 0

Views: 1561

Answers (1)

UPDATE: To hide the Popup already opened and showing on the screen, you need to clear focus of the current EditText or focus on other view when you clicked the plus button. See the example below:

iconPlus.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        yourEditText.clearFocus();
    }
});

If you want the popup never shows up at the first place, there are many ways to do it.

The simplest way is disabling long click and selection feature:

yourEditText.setLongClickable(false);
yourEditText.setTextIsSelectable(false);

Second one is overriding action callback actions on your edittext:

    yourEditText.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;
        }
    });

You can use them separately or together according to your case.

Also you can check other options from here

Upvotes: 3

Related Questions