android中GridView实现点击查看更多功能示例

android中GridView实现点击查看更多功能示例,第1张

概述首先来看一下效果图; 先说一下我的需求:查看群成员,如果超过15人则全部显示,如果大于15人则先加载15人,其余的不显示,点击查看更多则加载全部。再来说一下我实现的逻辑:首先呢要判断群成员的人数,如果

首先来看一下效果图;

 

先说一下我的需求:查看群成员,如果超过15人则全部显示,如果大于15人则先加载15人,其余的不显示,点击查看更多则加载全部。再来说一下我实现的逻辑:首先呢要判断群成员的人数,如果小于或者等于15就用GrIDVIEw加载全部数据,隐藏查看更多的按钮。如果大于15人,则显示加载更多的按钮,先加载15条数据,其余的不加载,点击按钮之后获取全部数据放到自己写好的adapter里然后加载刷新,再隐藏加载更多的按钮。

好了,来看代码:

<linearLayout  androID:layout_wIDth="match_parent"  androID:layout_height="0dp"  androID:layout_weight="1"  androID:background="@color/white"  androID:orIEntation="vertical">   <GrIDVIEw    androID:ID="@+ID/grID_member"    androID:layout_wIDth="match_parent"    androID:layout_height="0dp"    androID:layout_margin="15dp"    androID:layout_weight="1"    androID:horizontalSpacing="15dp"    androID:numColumns="5"    androID:verticalSpacing="15dp"></GrIDVIEw>   <linearLayout    androID:ID="@+ID/llayout_look_more"    androID:layout_wIDth="match_parent"    androID:layout_height="wrap_content"    androID:background="@drawable/btn_white_selector"    androID:gravity="center">     <TextVIEw      androID:layout_wIDth="wrap_content"      androID:layout_height="wrap_content"      androID:layout_gravity="center_horizontal"      androID:drawableRight="@mipmap/arrow_down_qun"      androID:gravity="center"      androID:paddingBottom="30dp"      androID:paddingtop="15dp"      androID:text="查看更多群成员 "      androID:textSize="@dimen/small_mIDdle_text_size" />  </linearLayout></linearLayout>

然后是activity中部分判断的核心代码:

首先第一次判断和加载

if (mListData.size() > 15) {  mGroupManageAdapter.setNumber(false);  mLlayoutLookMore.setVisibility(VIEw.VISIBLE);} else {  mGroupManageAdapter.setNumber(true);  mLlayoutLookMore.setVisibility(VIEw.GONE);}mGroupManageAdapter.replace(mListData);

点击按钮之后的代码:

mGroupManageAdapter.setNumber(true);mLlayoutLookMore.setVisibility(VIEw.GONE);mGroupManageAdapter.replace(mListData);

再贴上我的adapter部分代码:

public class GroupManageAdapter extends BaseAdapter {  private Context mContext;  private List<PublicEntity> mList = new ArrayList<>();  private boolean mListType = true;//是否显示全部成员,默认显示   public voID setNumber(boolean mListType) {    this.mListType = mListType;  }   public GroupManageAdapter(Context mContext) {    this.mContext = mContext;  }public voID replace(List<PublicEntity> itemDataTypes) {  mList.clear();  if (itemDataTypes.size() > 0) {    mList.addAll(itemDataTypes);    notifyDataSetChanged();  }}  @OverrIDe public int getCount() { return mListType ? mList.size() : 15; }  @OverrIDe public Object getItem(int position) { return mList.get(position); }  @OverrIDe public long getItemID(int position) { return position; }  @OverrIDe public VIEw getVIEw(final int position,VIEw convertVIEw,VIEwGroup parent) { final VIEwHolder holder; if (convertVIEw == null) { convertVIEw = VIEw.inflate(mContext,R.layout.item_group_manage_head,null); holder = new VIEwHolder(convertVIEw); convertVIEw.setTag(holder); } else { holder = (VIEwHolder) convertVIEw.getTag(); } String mPic = mList.get(position).getTextOne(); if (mPic != null && mPic.length() > 0) { Picasso.with(mContext).load(mPic) .placeholder(R.mipmap.s_hearder_user_nor) .error(R.mipmap.s_hearder_user_nor) .transform(new Circletransform()).into(holder.mimghead); } else { holder.mimghead.setimageResource(R.mipmap.s_hearder_user_nor); } //这里是删除成员的标记,不管。 if (mList.get(position).ismIsShowDeleteIcon()) { holder.mimgIconDelete.setVisibility(VIEw.VISIBLE); } else { holder.mimgIconDelete.setVisibility(VIEw.GONE); }  holder.mTvname.setText(mList.get(position).getText()); return convertVIEw; }  static class VIEwHolder { @BindVIEw(R.ID.img_head) ImageVIEw mimghead; @BindVIEw(R.ID.img_icon_delete) ImageVIEw mimgIconDelete; @BindVIEw(R.ID.tv_name) TextVIEw mTvname;  VIEwHolder(VIEw vIEw) { ButterKnife.bind(this,vIEw); } }}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。

总结

以上是内存溢出为你收集整理的android中GridView实现点击查看更多功能示例全部内容,希望文章能够帮你解决android中GridView实现点击查看更多功能示例所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1147031.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存