Androidのアプリは、シングルスレッドとかいう処理の仕組みを採用していて、別のスレッドを作成した場合に、その別スレッドからアプリ内のViewを操作することはできなくなってます。僕の乏しい理解力だと、そもそもスレッドとはなんぞや?というレベルなんですが、まぁ、別のスレッドからはUI操作はできないと言うことらしいです。もし別のスレッドからUIを操作したら、こんなエラーが表示される模様
ActivityのメソッドにrunOnUiThreadなるメソッドが用意されています。runの中では、UI操作ができる模様。
android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
解決策:外部スレッドからUI操作をするためのメソッド
runOnUiThread(new Runnable() { public void run() { //UI操作するコードをここに書く } });
ActivityのメソッドにrunOnUiThreadなるメソッドが用意されています。runの中では、UI操作ができる模様。