setOnClickListener强制按钮是否可点击?

时间:2014-04-24 11:42:20

标签: java android onclick

我有一个Android ButtonView,

我把它设置为无法点击:

 mDoneBtn.setClickable(false);

稍后我将onClickListener设置为

mDoneBtn.setOnClickListener(new View.OnClickListener() {

后者是否让按钮再次可点击?

2 个答案:

答案 0 :(得分:3)

来自View来源:

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

我想你可以找到答案。

编辑:适用于API级别19

答案 1 :(得分:2)

首先你写:

mDoneBtn.setClickable(false);

然后设置onClick:

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

该按钮将触发onClick事件。

但如果你设置为:

mDoneBtn.setEnabled(false);

然后设置你的onClick,不会触发onClick事件。

请求编辑:

如果 onClickListenner 已实现,

setClickable 将自动变为 true 。如果你执行 setEnabled(false),直到它被设置为true,即使你实现了onClickListenner,也不会可点击。