日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Android Studio使用recyclerview實現展開和折疊功能(在之前的微信頁面基礎之上)

瀏覽:125日期:2022-06-07 18:17:20

Android中RecyclerView點擊item展開列表詳細內容

效果如下:

Android Studio使用recyclerview實現展開和折疊功能(在之前的微信頁面基礎之上)

Android Studio使用recyclerview實現展開和折疊功能(在之前的微信頁面基礎之上)

依然是xml文件的設計,使用了兩個RelativeLayout,zu作為主布局和副布局,里面都加入textview顯示內容,在副布局里加入一個imageview在這里插入圖片描述作為子內容的背景圖,代碼如下:

tab01.xml

<?xml version='1.0' encoding='utf-8'?><LinearLayout xmlns:android='http://schemas.android.com/apk/res/android' xmlns:app='http://schemas.android.com/apk/res-auto' android:layout_width='match_parent' android:layout_height='wrap_content' xmlns:tools='http://schemas.android.com/tools' android:orientation='vertical'><RelativeLayout android: android:layout_width='match_parent' android:layout_height='50dp' android:background='#00574B'> <TextView android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:textSize='30dp' android:layout_centerInParent='true' android:textColor='@android:color/white' tools:text='主布局' /> </RelativeLayout> <RelativeLayout android: android:layout_width='match_parent' android:layout_height='100dp' android:background='#ffffff' android:visibility='gone'> <ImageView android: android:layout_width='wrap_content' android:layout_height='wrap_content' /> <TextView android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:layout_centerInParent='true' android:textSize='25dp' android:textColor='#000000' tools:text='副部局' /> </RelativeLayout></LinearLayout>

activity_main.xml

<?xml version='1.0' encoding='utf-8'?><LinearLayout xmlns:android='http://schemas.android.com/apk/res/android' android:layout_width='match_parent' android:layout_height='match_parent' android:orientation='vertical'> <include layout='@layout/top' /> <FrameLayout android: android:layout_width='match_parent' android:layout_height='0dp' android:layout_weight='1'> <android.support.v7.widget.RecyclerView android: android:layout_width='match_parent' android:layout_height='match_parent'> </android.support.v7.widget.RecyclerView> </FrameLayout> <include layout='@layout/bottom' /></LinearLayout>

核心代碼Adapter:

public class adapter extends RecyclerView.Adapter <adapter.myviewholder>{ private List<String> mlist=new ArrayList<>(); private Context context; private View inflater; private static final String tag=adapter.class.getSimpleName(); private int expandedPosition=1; private myviewholder mViewHolder; public adapter(Context context) {//,List<String> list this.context=context; } public void setExpandCollapseDataList(List<String> list){ mlist=list; notifyDataSetChanged(); } @Override public adapter.myviewholder onCreateViewHolder(ViewGroup viewGroup, int viewType) { inflater= LayoutInflater.from(context).inflate(R.layout.tab01,viewGroup,false); myviewholder myviewholder=new myviewholder(inflater); return myviewholder; } @Override public void onBindViewHolder(final adapter.myviewholder myviewholder, final int j) { myviewholder.textviewparent.setText(mlist.get(j)); myviewholder.imageview.setImageResource(R.drawable.p1); myviewholder.textviewchild.setText(mlist.get(j+15)); final boolean isExpanded=j==expandedPosition; myviewholder.rlChild.setVisibility(isExpanded ? View.VISIBLE : View.GONE); myviewholder.rlParent.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (mViewHolder != null) { mViewHolder.rlChild.setVisibility(View.GONE); notifyItemChanged(expandedPosition); } expandedPosition = isExpanded ? -1 : myviewholder.getAdapterPosition(); mViewHolder = isExpanded ? null : myviewholder; notifyItemChanged(myviewholder.getAdapterPosition()); } }); } @Override public int getItemCount() { return mlist == null ? 0 : mlist.size()/2; } class myviewholder extends RecyclerView.ViewHolder{ private ImageView imageview; RelativeLayout rlParent, rlChild; TextView textviewparent, textviewchild; public myviewholder(View itemView) { super(itemView); rlParent = itemView.findViewById(R.id.rl_parent); rlChild = itemView.findViewById(R.id.rl_child); textviewparent = itemView.findViewById(R.id.textViewparent); textviewchild = itemView.findViewById(R.id.textViewchild); imageview=itemView.findViewById(R.id.imageview); } }}

主要的代碼是 ViewHolder 中 bindView() , onClick() 這兩個方法對變量的操作。將list中前一半作為主布局數據,后一半作為副布局的數據生成。

數據和執行

private void initmyData() { list.add('路德維希·凡·貝多芬'); list.add('蕭友梅'); list.add('阿炳'); list.add('冼星海'); list.add('聶耳'); list.add('施光南'); list.add('弗里德里克·肖邦'); list.add('羅伯特·舒曼'); list.add('莫扎特'); list.add('約瑟夫·海頓'); list.add('舒伯特'); list.add('巴赫'); list.add('弗侖茲·李斯特'); list.add('約翰奈斯·勃拉姆斯'); list.add('門德爾松'); list.add('德國作曲家、鋼琴家、指揮家,被稱為樂圣。'); list.add('中國專業音樂教育的奠基人和開拓者、音樂理論家、作曲家。'); list.add('民間音樂家、二胡演奏家,譽為演奏能手。'); list.add('中國近代作曲家、鋼琴家--人民音樂家。'); list.add('中國音樂家--時代歌手。'); list.add('譽為時代歌手,現代抒情歌曲作曲家。'); list.add('譽為鋼琴詩人,波蘭作曲家、鋼琴家。'); list.add('德國著名作曲家、音樂評論家。'); list.add('奧地利作曲家,被譽為神童。'); list.add('奧地利作曲家,維也納古典派奠基者之一。'); list.add('奧地利作曲家--前所未有的最富詩意的音樂家。'); list.add('德國最偉大的古典作曲家之一,管風琴演奏家。'); list.add('天才的匈牙利作曲家、鋼琴家、指揮家和音樂活動家。'); list.add('德國十九世紀后半葉最卓越的、古典樂派最后的一位作曲家。'); list.add('德國著名作曲家。');}private void initView1() { adapter adapter = new adapter(this); RecyclerView recyclerView = findViewById(R.id.recyclerView); recyclerView.setLayoutManager(new LinearLayoutManager(this)); recyclerView.setHasFixedSize(true); recyclerView.addItemDecoration(new DividerItemDecoration(this, DividerItemDecoration.VERTICAL)); recyclerView.setAdapter(adapter); adapter.setExpandCollapseDataList(list);}

話不多說,上代碼。

github源碼地址:鏈接: https://github.com/YL009/yl.

總結

到此這篇關于Android Studio使用recyclerview實現展開和折疊(在之前的微信頁面基礎之上)的文章就介紹到這了,更多相關android studio recyclerview實現展開折疊內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: 微信
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
免费成人在线观看| 欧美亚洲一区二区三区| 欧美黑人做爰爽爽爽| 国产精品美女在线观看直播| 欧美交a欧美精品喷水| 国产成人久久精品一区二区三区| 精品国产欧美日韩| 秋霞国产精品| 国产精品婷婷| 欧美日韩亚洲一区| 国产一区二区三区国产精品| 四虎影视精品| 日韩中文字幕1| 久色成人在线| 久久国产视频网| 国产一区二区三区日韩精品| 欧美日韩一二三四| 蜜桃91丨九色丨蝌蚪91桃色| 日韩精品高清不卡| 美女久久久久久| 日韩av片子| 国产精品嫩草99av在线| 日韩精品亚洲一区二区三区免费| 精品一区二区三区中文字幕视频| 激情欧美国产欧美| 国产欧美日韩亚洲一区二区三区| 国产99在线| 蜜臀av性久久久久蜜臀aⅴ四虎| 亚洲在线久久| 久久亚洲精精品中文字幕| 国产精品久久久久av电视剧| 亚洲激情精品| 美女视频黄 久久| 福利一区二区三区视频在线观看| 极品av在线| 亚洲精品高潮| 麻豆国产欧美一区二区三区| 91久久在线| 精品高清久久| 亚洲精品系列| 日本精品黄色| 综合激情五月婷婷| 麻豆视频在线看| 久久都是精品| 色婷婷色综合| 青草国产精品| 亚洲成人日韩| 97国产成人高清在线观看| 免费欧美在线视频| 久久久久久久久99精品大| 青青草视频一区| 国产农村妇女精品一区二区| 国产不卡精品| 国产亚洲高清在线观看| 欧美日韩精品免费观看视频完整| 国产精品久久| 亚洲精品成人一区| 欧洲av一区二区| 日本亚洲视频| 一本色道久久精品| 一本大道色婷婷在线| 国产精品成人国产| 日韩在线观看中文字幕| 午夜欧美精品| 久久国产影院| 日韩精品2区| 精品日本视频| 国产图片一区| 六月婷婷一区| 欧美69视频| 久久精品高清| 国产超碰精品| 国产一区二区三区亚洲综合| 亚洲一区二区三区四区五区午夜 | 亚洲精品日本| 99国内精品| 亚洲大片在线| 久久青草久久| 日韩在线短视频| 麻豆国产欧美一区二区三区| 国产美女亚洲精品7777| 一区久久精品| 亚洲神马久久| 日韩午夜av在线| 国产精品婷婷| 国产视频一区欧美| 午夜国产精品视频免费体验区| 日韩精品影视| 少妇久久久久| 精品一区毛片| 99国产成+人+综合+亚洲欧美| av一区二区高清| 伊人久久亚洲热| 丝袜脚交一区二区| 亚洲免费观看高清完整版在线观| 免费人成精品欧美精品| 久久人人88| 激情五月综合| 免费看的黄色欧美网站| 在线观看一区| 日韩精品视频网| 国产日韩欧美一区在线| 国产精品中文字幕制服诱惑| 久久av免费看| 国产色播av在线| 激情欧美一区二区三区| 一区在线免费| 亚洲a级精品| 国产日韩欧美中文在线| 精品午夜视频| 91精品国产乱码久久久久久久 | 欧产日产国产精品视频| 中文字幕系列一区| 欧美日韩国产欧| 亚洲婷婷丁香| 国产精品视频首页| 国产一区国产二区国产三区| 亚洲啊v在线| 红桃视频亚洲| 日韩精品中文字幕一区二区| 免费在线观看一区| 国产99在线| 粉嫩av一区二区三区四区五区| 韩国三级一区| 亚洲一区二区日韩| 久久不卡国产精品一区二区| 欧洲av不卡| 在线精品一区二区| 久久中文精品| 国产一区视频在线观看免费| 日韩中文字幕1| 国产精品多人| 亚洲一本视频| 综合国产视频| 911亚洲精品| 精品精品国产三级a∨在线| 嫩草伊人久久精品少妇av杨幂| 中文字幕在线视频网站| 国产农村妇女精品一区二区| 国产精品国码视频| 岛国精品一区| 久久亚洲影院| 激情不卡一区二区三区视频在线| 欧美精品一二| 国产精品一区免费在线| 久久久久国产精品一区三寸| 日本va欧美va欧美va精品| 日韩国产一区二区| 日韩国产在线一| 久久精品观看| 日韩成人精品一区二区三区 | 久久国际精品| 亚洲国产专区校园欧美| 欧美一区=区三区| 日韩一区电影| 欧美伊人影院| 国产精品久久久久蜜臀| 蜜臀精品久久久久久蜜臀 | 老色鬼精品视频在线观看播放| 激情五月综合| 国内精品麻豆美女在线播放视频| 免费日韩一区二区| 精品三级av在线导航| 高清av不卡| 911精品国产| 国产精品三上| 国产第一亚洲| 国产精品一在线观看| 蜜臀av一区二区在线免费观看| se01亚洲视频 | 成人在线视频免费看| 美女少妇全过程你懂的久久| 久久成人av| 日韩不卡一区二区三区| 狠狠久久婷婷| 日韩精品一区二区三区免费观影| 老司机免费视频一区二区| 日韩精品a在线观看91| 亚洲精华国产欧美| 久久久9色精品国产一区二区三区| 国产麻豆一区二区三区精品视频| 热久久国产精品| 亚洲大全视频| 久久夜夜操妹子| av资源新版天堂在线| 麻豆精品在线观看| 国产精品一区二区99| 黄色精品网站| 久久精品不卡| 日韩中文欧美| 久久精品国产久精国产爱| 91大神在线观看线路一区| 亚洲2区在线| 亚洲精品伊人| 日韩三区四区| 91精品国产自产观看在线 | 国产精品7m凸凹视频分类| 三上悠亚国产精品一区二区三区| 国产乱码精品一区二区三区四区| 亚州精品视频|