java - 如何以编程方式将 ScrollView 滚动到底部

标签 java android android-layout android-scrollview

我有一个无法解决的问题:在 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/

相关文章:

使用形状的 Android 横幅功能区

java - 从 CalenderView 禁用星期五

java - Java中按位运算符和位移位的有趣行为返回值

java - JUnit3 和 JUnit4 之间有性能差异吗?

android - ViewPager 和 ViewPagerIndicator 不显示任何内容

android - ActionMode 自定义背景

java - 在java中创建多个线程

android - 确定 Android 手机与已知点的接近度,同时节省电量

java - 导入 android 包类时出错

android - Android应用程序中的 float 按钮(分页 View )