Android 限制gridview中的图像显示数量
我想知道是否有办法限制gridview中显示的图像数量。我创建了一个gridview,可能需要显示很多图像。因此,我想实现一个系统,默认情况下只显示30个图像,并且会有一个“加载更多”按钮,供用户将更多内容加载到gridview中。但我在这里有点迷路了,我不知道该如何前进,也不知道该寻找什么。我需要一些关于这个问题的建议。如有任何意见,将不胜感激。提前谢谢 GridView使用BaseAdapter来获取其项目,因此如果要更改要显示的数量,则必须在适配器中更改它。像这样:Android 限制gridview中的图像显示数量,android,gridview,android-gridview,Android,Gridview,Android Gridview,我想知道是否有办法限制gridview中显示的图像数量。我创建了一个gridview,可能需要显示很多图像。因此,我想实现一个系统,默认情况下只显示30个图像,并且会有一个“加载更多”按钮,供用户将更多内容加载到gridview中。但我在这里有点迷路了,我不知道该如何前进,也不知道该寻找什么。我需要一些关于这个问题的建议。如有任何意见,将不胜感激。提前谢谢 GridView使用BaseAdapter来获取其项目,因此如果要更改要显示的数量,则必须在适配器中更改它。像这样: public clas
public class ImagePageAdapter extends BaseAdapter {
private boolean loadAll = false;
public void setTrue(){
loadAll = true;
}
@Override
public int getCount() {
if(loadAll) return getAmount();
return 30;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent){
if(convertView == null) return getImage(position);
else{
//reuse convertview
}
}
因此,您只需调用setTrue()并让GridView现在需要重新加载。GridView使用BaseAdapter来获取其项目,因此如果您要更改要显示的数量,则必须在适配器中更改它。像这样:
public class ImagePageAdapter extends BaseAdapter {
private boolean loadAll = false;
public void setTrue(){
loadAll = true;
}
@Override
public int getCount() {
if(loadAll) return getAmount();
return 30;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent){
if(convertView == null) return getImage(position);
else{
//reuse convertview
}
}
因此,您只需调用setTrue()并让GridView重新加载即可。谢谢您的回复。那么根据您提供的答案,默认情况下它只加载30个图像,一旦调用setTrue(),它将加载所有图像?在它加载所有图像之后,我需要重新加载GridView以便图像显示?为了精确起见:GridView使用ListAdapter。BaseAdapter恰好是其中之一,不是唯一的一个,也不是最简单的一个。您的getView实现看起来也很奇怪。和
setTrue
?那是什么样的方法名?我知道这只是一个例子。作为程序员,我只是假设您知道方法名称对功能并不重要。是的,默认情况下它加载30,您必须测试它是否自动更新,或者您必须调用gridView.invalidate()或gridView.postInvalidate()。感谢您的回复。那么根据您提供的答案,默认情况下它只加载30个图像,一旦调用setTrue(),它将加载所有图像?在它加载所有图像之后,我需要重新加载GridView以便图像显示?为了精确起见:GridView使用ListAdapter。BaseAdapter恰好是其中之一,不是唯一的一个,也不是最简单的一个。您的getView实现看起来也很奇怪。和setTrue
?那是什么样的方法名?我知道这只是一个例子。作为程序员,我只是假设您知道方法名称对功能并不重要。是的,默认情况下它加载30,您必须测试它是否自动更新,或者您必须调用gridView.invalidate()或gridView.postInvalidate()。