题
我有一个滚动型内一个TextView。比方说,在滚动型被命名为s
和TextView的名为t
。
我有许多行,以显示在和TextView的同时我要滚动的视图到特定行上。
所以我这样做:
t.setText(aVeryLongString);
int y = t.getLayout().getLineTop(40); // e.g. I want to scroll to line 40
s.scrollTo(0, y);
但它不会滚动,的除了强>第二次。看来,在第一次的代码完成,了滚动知道TextView的总高度是多少。
所以我觉得一定有什么东西迫使scrollTo调用之前计算所需要的高度。如何做到这一点(或其他方式)?
解决方案
找到答案此处。
而不是直接调用scrollTo
的,相反,我们应该对滚动型呼叫post
。其工作原理。
t.setText(aVeryLongString);
s.post(new Runnable() {
@Override
public void run() {
int y = t.getLayout().getLineTop(40); // e.g. I want to scroll to line 40
s.scrollTo(0, y);
}
});
不隶属于 StackOverflow