состояние переключателя задержки при нажатии кнопки - PullRequest
1 голос
/ 03 июня 2011

Мне нужно отложить переключение состояния переключателя при нажатии на него. Я должен сделать какую-то операцию, и затем, когда другое событие называется, состояние переключателя должно измениться. Как я могу это сделать? Спасибо!

1 Ответ

4 голосов
/ 04 июня 2011

Подкласс ToggleButton и переопределение обработки кликов. Используйте AsyncTask для выполнения своей задачи, а затем выполните фактическое переключение, вызвав super.performClick(), когда вы хотите выполнить переключение.

public class MyToggleButton extends ToggleButton {

    public MyToggleButton(Context context) {
        super(context);
    }

    public MyToggleButton(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public MyToggleButton(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
    }

    @Override
    public boolean performClick() {
        // do your thing here

            // only call the below line if you actually want it to happen.
        return super.performClick();
    }
}
...