panpf / switch-button

SwitchButton 是 Android 上的一个开关按钮控件 【Deprecated】【Stop maintenance】
330 stars 133 forks source link

你好,請問怎麼重置按鈕狀態? #10

Closed KawaHu closed 7 years ago

KawaHu commented 7 years ago

public void onCheckedChanged(CompoundButton compoundButton, boolean b) { if (b == false) { // TODO: 取消事件處理 compoundButton.setChecked(true); } }

我想做個專用於取消的滑動按鈕,每次滑動完(處理取消事件後)都必須回到按鈕的預設狀態。 但是以上的方法,Button的Checked會回到true沒有錯,但是圖片會變成錯誤的狀態。

panpf commented 7 years ago

你可以尝试通过 Handler 延迟一会儿再执行重置状态,例如:

public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
    if (b == false) {
    // TODO: 取消事件處理
    compoundButton.post(new Runnable(){
        @Override
        public void run(){
                compoundButton.setChecked(true);
        }
    });
    }
}