如何设置ListView中固定的行数显示?我想设置5行仅显示在Listview而不是所有行。那我怎么能实现这个目标呢?
答案 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 = NUMBER_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());
}
}
希望这有帮助你!