TextView 的append后面 马上调用fullScroll(),会发现无法滚动到真正的底部

如果在TextView的append后面马上调用fullScroll,会发现无法滚动到真正的底部,这是因为Android下很多(如果不是全部的话)函数都是基于消息的,用消息队列来保证同步,所以函数调用多数是异步操作的。当TextView调用了append会,并不等text显示出来,而是把text的添加到消息队列之后立刻返回,fullScroll被调用的时候,text可能还没有显示,自然无法滚动到正确的位置。

解决的方法其实也很简单,使用post:

final ScrollView svResult = (ScrollView) findViewById(R.id.svResult); 


svResult.post(new Runnable() { 
        public void run() { 
            svResult.fullScroll(ScrollView.FOCUS_DOWN); 
        } 
}); 

原文地址:https://www.cnblogs.com/wutianlong/p/6377443.html