【发布时间】:2010-12-29 01:32:21
【问题描述】:
我在 ScrollView 中有一个 TextView。假设 ScrollView 命名为 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);
但它不会滚动,除了第二次。似乎在代码第一次完成时, ScrollView 知道 TextView 的总高度是多少。
所以我认为在 scrollTo 调用之前必须有一些东西来强制计算所需的高度。如何做到这一点(或以其他方式)?
【问题讨论】:
-
你是在 UI 线程中运行代码吗?
-
是onReceiveResult处的代码(调用另一个activity,activity放了一些数据并finish(),并接收到了数据)。我对android中的线程模型了解不够。