我在其中一个活动中切换,当用户以任何方式与其交互时,应执行名为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" />
答案 0 :(得分:1)
单击侦听器仅在单击视图时调用。要查看已检查状态的更改,例如将开关拇指拖到开启或关闭位置时,请改为使用OnCheckedChangeListener。
Switch switchButton = (Switch) findViewById(R.id.switch_button);
switchButton.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
...
}
});