How to capture onclick event in disabled EditText

2019-02-05 11:03发布

问题:

I have a EditText which I am presenting as disabled so that user cannot edit the contents and also to avoid popping-up keyboard. But now I want to capture onclick event in the EditText and identify the individual words that are being clicked. Any help is most welcome.

Thanks, Balkrishna.

回答1:

On your EditText set attributes android:focusable="false" and android:enabled="true". And set OnClickListener to that EditText. The click on that Edittext triggers the onClick() method but it can't be edited. I just tried it.



回答2:

You can make the component unclickable by using.

editText.setClickable(false);

To make the component look visually disabled by decreasing the Alpha value.

editText.setAlpha(0.5f);

It will allow you to set an OnTouchListener on your component by which you can perform your desired operations.

editText.setOnTouchListener(new View.OnTouchListener() {
                    @Override
                    public boolean onTouch(View v, MotionEvent event) {
                        Toast.makeText(getApplicationContext(),"Component is disabled", Toast.LENGTH_SHORT).show();
                        return false;
                    }
                });