【问题标题】:How to detect when a Switch is slided, not clicked如何检测开关何时滑动而不是单击
【发布时间】:2012-08-18 17:50:39
【问题描述】:

我设法捕获了单击切换视图的时间,以便主要活动做出相应的响应;但是每当我滑动它而不是单击它时,就好像什么都没发生一样。我怎样才能检测到这一点?

【问题讨论】:

    标签: android user-interface view switch-statement


    【解决方案1】:

    之前已经实现了切换按钮添加

    android:onClick="onSwitchClicked"
    

    在我的 .xml 清单上并将相应的方法添加到我的主要活动中并没有提供预期的结果;因为正如问题所说,它仅在单击时才有效。注意到最好这样做:

    powerSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
    
                public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                    if(isChecked){
                        //code
                    }else{
                        //code
                    }
                }
            });
    

    这样,每当 Switch 的状态发生变化时,无论是滑动还是点击,都会调用该方法。

    有关详细信息,请参阅本教程: http://developer.android.com/guide/topics/ui/controls/togglebutton.html

    【讨论】:

    • 感谢您分享您找到的解决方案,但仍有点不清楚:第一个代码 sn-p 中的清单包含不需要在您的代码中包含第二个代码 sn-p 中的内容,它是(其中一种方法)实现 onClickListener - 与 OnCheckedChangeListener 无关
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-02
    相关资源
    最近更新 更多