美好的一天,抱歉令人困惑的头衔。
我正在构建一个Android应用程序,我在一个活动中有4个自定义ListView。由于列表项的长度,列表中的2个是可滚动的,而列表中的2个不是。首先,我最小化了没有滚动条的2个listView的高度,因为它们的数据可以立即显示出来。但是,其他2个listViews有很多数据,即使在最大化屏幕上分配的空间后,它们仍然需要滚动。
我想到的解决方案是制作一个"多列"连续的customListView。这个概念类似于报纸上的一栏,其中一篇文章将在一列中自上而下,并在下一栏继续。但是,我还没有找到listView的属性,它允许我将其拆分为两个并以我想要的方式显示数据。这样,将显示所有列表数据,并且不需要滚动条。
我知道一个快速而肮脏的解决方案是生成尽可能多的listViews,然后找出要分割的arrayList数据的哪一部分并将其提供给它们进行显示。但是,这个解决方案很丑陋且不受欢迎,因为如果arrayList数据的数量发生变化,那么解决方案就不会再持有了。我想要一个优雅的解决方案。
有没有人知道如何做到这一点?很感谢任何形式的帮助。谢谢。
答案 0 :(得分:0)
我最终使用GridView
。我将ListView
更改为GridView
,原因是:
<GridView
android:id="@+id/myIdHere"
android:numColumns="4"
android:gravity="center"
android:columnWidth="100dp"
android:stretchMode="columnWidth"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="60"
android:fadeScrollbars="false">
</GridView>
然后我将活动中的ListView
次调用更改为GridView
,就是这样。由于自定义gridViews也使用BaseAdapter
,因此我可以轻松地轻松重用我的代码。