質問: AndroidでTextViewの書き換え後にSleepしたいです。 Sleepする前に書き換えて"Wait中"にしたいですが、Sleepに入るみたいでできないです。 Wait中を表示させたいです。 txtView.setText("Wait中・・・")を別スレッドで書き換えて見ようとしたのですが、以下のエラーになりましtあ。 Only the original thread that created a view hierarchy can touch its views Sleep後の処理をメインのスレッドで処理したいのですが、どのようにすれば良いでしょうか? ご教授ください。 ``` txtView.setText("Wait中・・・"); // TextViewの書き換え try { Thread.sleep(10000); } catch (InterruptedException e) {} txtView.setText("処理中・・・"); // TextViewの書き換え progressTask(); // 別の処理 ```
回答: UIスレッドはどんな理由があっても停止してはいけません。 別スレッドを起動するのは正しいですが、UIスレッド以外からUI変更をしてはいけません、するのであればActivity#runOnUiThread等を使用し、UIスレッドで処理を行うようにしましょう。