このフォーラムで検索していますが、質問に対する回答が見つかりません。次の問題があります。
イメージビューと 2 つのテキストがあり、次のアクティビティをロードする前に視覚的なフィードバックを表示するために選択の色を変更したいと考えています。
@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);
}
ボタンとテキストが変更され、新しいアクティビティが開始されることを期待しています。しかし、テキストは変わらず、アクティビティが開始されます。UI スレッド (runOnUiThread(new Runnable() {...}) で runnable の 3 行を呼び出すと、アクティビティが開始される前に変更が適用されます。メインスレッド別名 UI スレッド。
これは、UI スレッドへの変更が UI スレッドですぐに実行されないということですか? または、私は何か完全に間違っていますか?
ベスト、アダム