Android:如何设置固定否(5)的行显示在ListView然后滚动?

时间:2011-09-22 05:30:01

标签: android

如何设置ListView中固定的行数显示?我想设置5行仅显示在Listview而不是所有行。那我怎么能实现这个目标呢?

4 个答案:

答案 0 :(得分:3)

是的,您可以通过适配器类实现,请尝试使用适配器类中的以下代码。

 public int getCount() {
        return 5;
    }

如果设置此项,则适配器类仅加载5个项目。

答案 1 :(得分:2)

这可以通过将行项目高度设置为固定dps并将列表视图高度设置为行高度的5倍(精确dps)来实现。

答案 2 :(得分:2)

这就是我做的方式:

步骤1:将固定高度设置为项目列表ITEM_LIST_HEIGHT

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
          android:layout_width="match_parent"
          android:layout_height="25dp"> 

</TextView>

步骤2:将固定高度设置为列表,更准确地说是LIST_HEIGHT = NUM​​BER_OF_ITEMS_TO_DISPLAY x ITEM_LIST_HEIGHT。例如,6项150;

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent">
    <ListView
            android:layout_width="wrap_content"
            android:layout_height="150dp"/>

我希望它有所帮助!

答案 3 :(得分:0)

您可以自定义适配器。但我认为你的想法是SET MAX ITEM OF LIST VIEW。 (我认为会更好)。

因此,您将自定义您的适配器:

private class CustomAdapter<T> extends ArrayAdapter<T> {
    private static final int MAX_ROW_DISPLAY = 5;
    private List<T> mItems;
    public CustomAdapter(Context context, int resource, List<T> objects) {
        super(context, resource, objects);
        mItems = objects;
    }

    @Override
    public int getCount() {
        if (mItems == null) {
            return 0;
        }
        return Math.min(MAX_ROW_DISPLAY, mItems.size());
    }
}

希望这有帮助你!