我想做什么

我正在尝试使用Android的Switch元素从Facebook和LinkedIn的API登录或注销用户,如图所示。

java - 单击时禁用Android Switch的默认操作-LMLPHP

我的问题

当前,切换会在用户点击时自动触发。我希望他们仅在API确认用户的登录状态已成功更改时才继续执行命令。

我的尝试

我尝试使用myLoginSwitch.setClickable(false);,但这似乎没有任何影响。

我想避免的是

我想这可以用定制的开关元件完成,但是出于明显的原因,我试图避免这种解决方案!

任何想法将不胜感激!

最佳答案

感谢您的所有想法和答案!

禁用按钮并不是我一直想做的事情,可悲的是,使用onClick()不足以覆盖默认操作。

但是,onTouch完美地完成了这一招!如果有人在做类似的事情,这是函数:

myLoginSwitch.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View view, MotionEvent motionEvent) {
        myLoginSwitch.setClickable(false);
        myLoginLogoutFunc();
        return false;
    }
});

07-24 18:25