国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

android中GridView實現點擊查看更多功能示例

2019-12-12 03:46:58
字體:
來源:轉載
供稿:網友

首先來看一下效果圖;

 

先說一下我的需求:查看群成員,如果超過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); } }}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 陈巴尔虎旗| 易门县| 九台市| 凤山市| 托里县| 航空| 兰考县| 宿迁市| 宜城市| 资兴市| 察哈| 腾冲县| 泰安市| 阜南县| 保靖县| 同仁县| 新宾| 慈溪市| 肃北| 登封市| 洛浦县| 临漳县| 湖州市| 思茅市| 敦化市| 海宁市| 北流市| 满洲里市| 大余县| 鄂州市| 苏州市| 望奎县| 永寿县| 白银市| 海原县| 成武县| 五莲县| 华安县| 永嘉县| 军事| 宜城市|