SwitchCompatウィジェットのクリックをリッスンする方法は?スイッチが切り替えられたときにいくつかのステートメントを実行したい。
同等のものを探しています
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//Do something
}
});
static Boolean isTouched = false;
switchButton.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
isTouched = true;
return false;
}
});
switchButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
{
if (isTouched) {
isTouched = false;
if (isChecked) {
}
else {
}
}
}
});
これを試して!
必要なのはこれだけです(setOnTouchListenerは不要です)。
switchButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
{
if (isChecked) {
//if 'isChecked' is true do whatever you need...
}
else {
}
}
}
});
Butterknife SwitchCompatの状態変更あり
@OnCheckedChanged(R.id.switchCompat)
public void onCheckedChanged(SwitchCompat switchCompat, boolean isChecked){
Log.i("skh","check:"+isChecked);
if (isChecked) {
// Log.i("skh","check:"+isChecked);
}
else {
}