我有一个无法解决的问题:在 ScrollView 中我只有一个 线性布局。通过用户操作,我以编程方式添加 2 TextView 在此 LinearLayout 上,但默认情况下滚动保持在顶部。 由于我控制用户操作,我应该很容易滚动到 底部有类似的东西:
ScrollView scroll = (ScrollView) this.findViewById(R.id.scroll);
scroll.scrollTo(0, scroll.getBottom());
但实际上不是。因为在添加这两个新的之后立即
元素 getBottom() 仍然返回前两个。我尝试过了
刷新调用refreshDrawableState()
的状态,但是我不行。
你知道我怎样才能得到 ScrollView 的实际底部吗 添加一些元素后?
最佳答案
您需要使用消息队列,否则它将不起作用。试试这个:
scrollView.post(new Runnable() {
@Override
public void run() {
scrollView.fullScroll(ScrollView.FOCUS_DOWN);
}
});
这对我有用。
关于java - 如何以编程方式将 ScrollView 滚动到底部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8015313/