View.post

Handlerではなく、ScrollViewなどのViewから、自身に通知して処理してもらう場合はどうなるだろう。
View.postを使う。

View  |  Android Developers

MainActivity.javaで、

Thread生成で、Runnableを生成、runの定義で10秒sleepし、scrollView.postの引数でさらにRunnable生成、runの定義でscrollView.scrollToと、結構ネストしているがこうする。
1つ目のRunnableはワーカースレッド処理、2つ目のRunnableはUIスレッド処理。
基本的に、何かをきっかけにスクロールさせる場合はこのほうが安全。

最初はこうだが
最初はこうだが

最初はこうだが、10秒経つと、

下にスクロール
下にスクロール

下にスクロール。

Sample/android/View/post/src/View at master · bg1bgst333/Sample · GitHub