Android - 创建一个继续通过2个listViews的自定义listView

时间:2015-05-17 02:29:21

标签: android listview android-listview

美好的一天,抱歉令人困惑的头衔。

我正在构建一个Android应用程序,我在一个活动中有4个自定义ListView。由于列表项的长度,列表中的2个是可滚动的,而列表中的2个不是。首先,我最小化了没有滚动条的2个listView的高度,因为它们的数据可以立即显示出来。但是,其他2个listViews有很多数据,即使在最大化屏幕上分配的空间后,它们仍然需要滚动。

我想到的解决方案是制作一个"多列"连续的customListView。这个概念类似于报纸上的一栏,其中一篇文章将在一列中自上而下,并在下一栏继续。但是,我还没有找到listView的属性,它允许我将其拆分为两个并以我想要的方式显示数据。这样,将显示所有列表数据,并且不需要滚动条。

我知道一个快速而肮脏的解决方案是生成尽可能多的listViews,然后找出要分割的arrayList数据的哪一部分并将其提供给它们进行显示。但是,这个解决方案很丑陋且不受欢迎,因为如果arrayList数据的数量发生变化,那么解决方案就不会再持有了。我想要一个优雅的解决方案。

有没有人知道如何做到这一点?很感谢任何形式的帮助。谢谢。

1 个答案:

答案 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,因此我可以轻松地轻松重用我的代码。