Android Switch的方法在拖动时不执行

时间:2015-04-07 16:37:40

标签: android android-button android-switch

我在其中一个活动中切换,当用户以任何方式与其交互时,应执行名为onSwitchClick的方法。目前,该功能在轻触开关时执行(从开关位置开始),但从未在开关被拖动时执行#34;通过手指的移动从一个位置到另一个位置。但是,我知道正在设置switch的状态,因为在某些情况下将其关闭的另一种方法可以正常工作。

格式化活动的相关布局代码的一部分。

<Switch
    android:id="@+id/switch_button"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:onClick="onSwitchClick"
    android:paddingLeft="5dp"
    android:paddingTop="5dp"
    android:text="@string/switch_text" />

1 个答案:

答案 0 :(得分:1)

单击侦听器仅在单击视图时调用。要查看已检查状态的更改,例如将开关拇指拖到开启或关闭位置时,请改为使用OnCheckedChangeListener

Switch switchButton = (Switch) findViewById(R.id.switch_button);
switchButton.setOnCheckedChangeListener(new OnCheckedChangeListener() {
    @Override
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
        ...
    }
});