سؤال

I have an android ButtonView,

I set it to be unclickable:

 mDoneBtn.setClickable(false);

later I set an onClickListener to it

mDoneBtn.setOnClickListener(new View.OnClickListener() {

does the latter make the button to be clickable again?

هل كانت مفيدة؟

المحلول

First you write:

mDoneBtn.setClickable(false);

Then you set onClick:

mDoneBtn.setOnClickListener(new View.OnClickListener() {...}

The button will trigger onClick event.

But if you set as:

mDoneBtn.setEnabled(false);

and then set your onClick, the onClick event will not be triggered.

Requested Edit:

setClickable automatically becomes true if onClickListenner is implemented. if you do setEnabled(false), until it is set to true, it will not be clickable even if you implement onClickListenner.

نصائح أخرى

From View source:

public void setOnClickListener(OnClickListener l) {
        if (!isClickable()) {
            setClickable(true);
        }
        getListenerInfo().mOnClickListener = l;
}

I guess you can figure out the answer.

EDIT: valid for API level 19

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top