Я делаю тяжелую работу в коммутаторе onCheckedChanged(CompoundButton buttonView, boolean isChecked)
. А именно, я выполняю управление кластерами Карт Google (элементы кластера фильтров на основе значений).Android Switch - как переключить изменение пользовательского интерфейса перед вызовом onCheckedChangeListener
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// memory heavy stuff starts happening here
}
Моя проблема заключается в том, что я хочу, чтобы тяжелый материал произошло после того, как коммутатор сделал его изменения пользовательского интерфейса (тумблер + изменение цвета). В противном случае пользовательский интерфейс очень отсталый. Поскольку я имею дело с кластерами, я не могу делать этот тяжелый материал в другом потоке, потому что кластер использует основной (UI) поток.
Вопрос: Есть ли способ обработать onCheckedChange, который будет вызван после того, как коммутатор выполнил свое действие в пользовательском интерфейсе или способ задержки выполнения методов onCheckedChange?
Спасибо, только что нашел ту же ссылку здесь http://stackoverflow.com/questions/21380951/android-sleep-wait-delay-function. Также коммутатору необходимо было переключиться на 300 мс. – KasparTr