我在项目中,使用ListView嵌套GridView,把listview的每一个item都用gridview处理,现在需求是这样的:每一个gridview的item数量不是固定的,超过一定数量之后,要显示更多按钮,点击即可展开更多并显示收起。如下图所示:
这种需求,应该如何实现呢?神们指点迷津!
已解决,附带解决方案:
以下是最主要的代码:
@Override
public int getCount() {
if (haveMore != 0) {
return isShowAll ? allList.size() + 1 : subCount;
}else {
return subCount;
}
}
@Override
public Object getItem(int position) {
if (haveMore != 0) {
return isShowAll ? allList.get(position) : subList.get(position);
}else {
return subList.get(position);
}
}
主要逻辑就是,在getcount里进行判断,是否需要进行全部数据的展示.
用 适配器视图吧,点击“更多”的时候,更改GridView里面item的数据。也就是把现在的数据覆盖掉,但位置占据的还是现在的这个GridView
可以根据每个item里 textview的个数,进行动态添加,比如定义做多显示8个texiview,超过八个的时候,第八个txtview显示更多喽,当点击的时候,把第八个的文本改下,然后再new第九个第第十个啥的就行了
说白了就是根据不同的条件去显示不同的数据:
有更多数据时,显示部分数据加上更多按钮
点击更多按钮时,notifyDataSetChange去加载全部数据即可
我正在做这样的类似界面,有demo给我看下吗?