在ScrollView中滚动ListView的问题

Oll*_*e C 6 android

这是概念上的场景(不包括linearlayouts)

ScrollView
  Button
  Checkboxes
  Spinner
  ListView (full-size, non-scrolling)
AdMob advert
Run Code Online (Sandbox Code Playgroud)

即滚动窗格,其顶部有过滤UI,后跟结果,但广告必须始终保持可见,向下滚动过滤器UI必须滚动,留出最大的结果空间.

我知道ScrollView中的ListView存在问题,但对我而言,它在很多方面都运行良好(我正在修复ListView的长度以阻止它崩溃).因此屏幕滚动得很好,广告保持在底部,看起来不错.

但是我看到的问题莫名其妙地,当活动打开时,ScrollView向下滚动了一下,因此ListView位于屏幕的顶部.我假设这是一个默认行为,所以我开始尝试强制ScrollView的滚动位置到顶部,但我尝试了各种方法,并看不到任何效果:

scrollview.scrollTo(0, 1000/-1000);
scrollview.smoothScrollBy(0, 1000/-1000);
scrollview.fullScroll(View.FOCUS_UP);
Run Code Online (Sandbox Code Playgroud)

有没有办法强制ScrollView从顶部的滚动位置开始?

如果没有,我怎么能有一个不滚动底部的广告,但是一个总是滚动到顶部的过滤器UI?使用ListView似乎有些过分,因为我不需要滚动,但它确实提供了许多好处,所以最好避免从头开始并自己渲染所有内容.

Fal*_*rri 0

如果不滚动,为什么要使用列表视图?为什么不能只使用线性布局或更适合这种情况的布局?您提到了一个过滤器,您可以非常轻松地推出自己的过滤器,特别是因为显然您的列表视图中只有一些项目。