Android ScrollView scrollTo()方法无法使用TextView?

例如,我有这样的布局:
<ScrollView>
  <LinearLayout>
    <LinearLayout>
         ...
    </LinearLayout>
    <LinearLayout>
         ...
    </LinearLayout>
    <LinearLayout>
         <TextView>
         </TextView>
    </LinearLayout>
  </LinearLayout>
</ScrollView>

我的TextView内容很长.现在我可以手动滚动ScrollView到TextView内容的末尾.在代码中,我写道:scrview.scrollTo(0,800);,scrview是我的ScrollView.它应该滚动到TextView内容的中间.但是在运行时,它只会滚动到TextView的开头,无法滚动TextView内容.

有人知道导致这个问题的原因吗?

编辑:我找到了.好像我太早叫做scrollTo了.运用

scrview.post(new Runnable() {
                public void run() {
                    scrview.scrollTo(0,800);
                }
            });

相反,它的工作原理.为任何遇到同样问题的人发布答案.

解决方法

首先,如果所有的LinearLayouts具有相同的方向,为什么不只是创建一次? 如果我没错,ScrollView只能有1个孩子(1个直接孩子).也许这可能是你遇到问题的原因. 但是,如果你仍然需要这3个LinearLayouts,你可以创建一个FrameLayout作为父级来保存它们并使FrameLayout成为ScrollView的子级

相关文章

Android 如何解决dialog弹出时无法捕捉Activity的back事件 在...
Android实现自定义带文字和图片的Button 在Android开发中经常...
Android 关于长按back键退出应用程序的实现最近在做一个Andr...
android自带的时间选择器只能精确到分,但是对于某些应用要求...