如何将数组列表限制为 10 并在单击更多时显示接下来的 10 个项目
How to limit an array list to 10 and display next 10 items on click of more
我正在添加 arrayList
中的所有项目,现在我只想在我的回收站视图中显示 10 个项目,然后单击更多 10 个,依此类推。我想使用相同的 arrayList
.
您可以在getCount()
方法中自行处理。
您可以在适配器 class 中输入一个整数,然后每次单击更多按钮将其增加 1。
int num = 1;
点击更多按钮:
if((adapter.num)*10 < arrayList.size())
adapter.num = adapter.num +1;
在getCount()
方法中:
@Override
public int getCount() {
if(num*10 > arrayList.size()){
return arrayList.size();
}else{
return num*10;
}
}
那是不可能的,不依赖于 arrayList 仅依赖于数据源,例如数据库示例:
您将显示来自 table 用户 的数据: user_id , user_name , To请求前 10
SQL 声明
Select * from user LIMIT 0,10 ;
下 10 个
Select * from user LIMIT 10,20 ;
每次在 arrayList 中添加新数据后调用 notifyDataSetChanged() 到您的回收器视图的适配器。
adapter.notifyDataSetChanged();
编辑 : 或您需要使用其他 arrayList 并在每次添加数据后逐个添加数据 notifyDataSetChanged() 到回收器视图适配器;
更好的选择是制作两个数据数组,mainArray 和 backupArray。
首先尝试将 10 个项目从 backupArray 添加到 mainArray。
onLoadMore-从 backupArray 添加更多 10 项到 mainArray。
加载更多登录
适配器-getView(...)
if(position==10){
activity.loadMore();
}
下面是我所做的并且在不使用任何临时数组的情况下工作得很好。正如@MHP 已经引用的那样 getCount()
就可以了。
@Override
public int getCount() {
if(displaySize > statusList.size())
return statusList.size();
else
return displaySize;
}
这里 displaySize
是我要显示的条目数,而 statusList 是我保存所有条目的实际数组。
下面是我要调用的方法 adapter.setDisplayCount(10);
public void setDisplayCount(int numberOfEntries) {
displaySize = numberOfEntries;
notifyDataSetChanged();
}
我们开始了
@Override
public int getItemCount() {
if (arrayList.size()>10){
return 10;
}
return arrayList.size();
}
我正在添加 arrayList
中的所有项目,现在我只想在我的回收站视图中显示 10 个项目,然后单击更多 10 个,依此类推。我想使用相同的 arrayList
.
您可以在getCount()
方法中自行处理。
您可以在适配器 class 中输入一个整数,然后每次单击更多按钮将其增加 1。
int num = 1;
点击更多按钮:
if((adapter.num)*10 < arrayList.size())
adapter.num = adapter.num +1;
在getCount()
方法中:
@Override
public int getCount() {
if(num*10 > arrayList.size()){
return arrayList.size();
}else{
return num*10;
}
}
那是不可能的,不依赖于 arrayList 仅依赖于数据源,例如数据库示例:
您将显示来自 table 用户 的数据: user_id , user_name , To请求前 10
SQL 声明
Select * from user LIMIT 0,10 ;
下 10 个
Select * from user LIMIT 10,20 ;
每次在 arrayList 中添加新数据后调用 notifyDataSetChanged() 到您的回收器视图的适配器。
adapter.notifyDataSetChanged();
编辑 : 或您需要使用其他 arrayList 并在每次添加数据后逐个添加数据 notifyDataSetChanged() 到回收器视图适配器;
更好的选择是制作两个数据数组,mainArray 和 backupArray。 首先尝试将 10 个项目从 backupArray 添加到 mainArray。 onLoadMore-从 backupArray 添加更多 10 项到 mainArray。 加载更多登录 适配器-getView(...)
if(position==10){
activity.loadMore();
}
下面是我所做的并且在不使用任何临时数组的情况下工作得很好。正如@MHP 已经引用的那样 getCount()
就可以了。
@Override
public int getCount() {
if(displaySize > statusList.size())
return statusList.size();
else
return displaySize;
}
这里 displaySize
是我要显示的条目数,而 statusList 是我保存所有条目的实际数组。
下面是我要调用的方法 adapter.setDisplayCount(10);
public void setDisplayCount(int numberOfEntries) {
displaySize = numberOfEntries;
notifyDataSetChanged();
}
我们开始了
@Override
public int getItemCount() {
if (arrayList.size()>10){
return 10;
}
return arrayList.size();
}