检查是否禁用了视图(按钮)

时间:2014-04-15 20:53:20

标签: android button view

我有Button

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:enabled="false" />

如果用户在禁用时点击它,我想抛出Toast。但这不起作用:

@Override
public void onClick(View v) {

        Button b = (Button) v;
        if (b.isEnabled()) {


        } else {
            Toast.makeText(getActivity(),
                    "Please Select a Student",
                    Toast.LENGTH_SHORT).show();
        }
    }
});

我做错了什么?

3 个答案:

答案 0 :(得分:6)

视图在禁用时不会收到onClick回调。您应该在按钮单击逻辑中添加一个是否选择学生的检查,而不是禁用该按钮。

答案 1 :(得分:0)

实际上,已停用的Button无法收听任何事件,但您可以通过扩展Button类来自定义您自己的Button,以制定您自己的禁用定义。

答案 2 :(得分:0)

禁用按钮时,您无法收听事件。使用ImageButton中的状态创建一个选择器,以更加直观地显示启用和禁用状态之间的差异。当Button被禁用时,您无法监听事件。使用状态或使用带选择器文件的ImageButton来放置dif