Я искал здесь, на этом форуме, но не могу найти ответ на свой вопрос. У меня есть следующая проблема:
У меня есть изображение и два текста, и я хочу изменить цвет при выделении, чтобы показать визуальную обратную связь перед загрузкой следующего действия.
@Override
public void onClick(View v) {
openFormOverviewButton.setColorFilter(0x22FFFFFF, Mode.SRC_ATOP);
openFormOverviewTitle.setTextColor(0xFF00851B);
openFormOverviewText.setTextColor(0xFF00851B);
Intent tki = new Intent();
tki.setClass(getApplication(), DataCollectorFormOverviewActivity.class);
startActivity(tki);
}
Я ожидаю, что кнопка и тексты будут изменены, а затем начнется новое действие. Тем не менее, текст не меняется, и действие начинается. Если я вызову три строки в runnable в потоке пользовательского интерфейса (runOnUiThread (new Runnable () {...}), то изменения будут применены до начала действия. Это на самом деле странно, потому что метод onClick вызывается для основная тема, также известная как пользовательский интерфейс.
Означает ли это, что изменения в потоке пользовательского интерфейса не выполняются немедленно в потоке пользовательского интерфейса? Или я что-то не так делаю?
Лучший,
Адам