成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

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

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

瀏覽:111日期: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實現展開折疊內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: 微信
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
91麻豆精品国产自产在线| 欧美精品福利| 欧美视频四区| 久久综合九色综合欧美就去吻| 久久99国产精品久久| 亚洲欧美日韩精品一区二区| 国产精品国产三级国产| 欧美久色视频| 中文字幕免费一区| 午夜精品亚洲| 久久嫩草精品久久久精品一| 不卡的av中国片| 日韩免费一区二区| 国产在线精品视频| 7777精品伊人久久久大香线蕉完整版 | 国产亚洲成年网址在线观看| 99热国产精品| 久久久久久9999| 欧美区一区二| 中文字幕中文字幕一区| 国内精品嫩模av私拍在线观看| 久久精品亚洲一区二区三区浴池| youjizz久久| 久久日韩精品一区二区五区| 成人av网站在线观看免费| 日韩精品一区二区在线| 成人深夜在线观看| 久久在线免费观看| 国产精品资源网站| 日韩欧美一区二区不卡| 成人激情小说乱人伦| 亚洲精品在线免费播放| 欧美一区激情| 国产精品久线在线观看| 在线欧美三区| 亚洲国产精品久久久久婷婷884 | 女生裸体视频一区二区三区| 中文字幕av一区二区三区| 欧美精选一区| 亚洲精品免费一二三区| 久久精品国产第一区二区三区最新章节 | 成人激情电影免费在线观看| 欧美精品一区二区三区四区| 欧美三级免费| 亚洲一区在线看| 色婷婷精品大在线视频| 国产在线不卡一区| 26uuu精品一区二区三区四区在线| 欧美日韩成人一区二区三区| 亚洲另类在线一区| 色呦呦一区二区三区| 美女视频一区在线观看| 日韩写真欧美这视频| 欧美福利在线| 亚洲综合激情网| 一本久久a久久精品亚洲| 国内久久精品视频| 久久人人97超碰com| 亚洲福利av| 日本aⅴ免费视频一区二区三区| 日韩一区二区免费高清| 欧美在线二区| 一区二区视频在线看| 亚洲精美视频| 免费观看一级特黄欧美大片| 精品理论电影在线观看| 欧美色欧美亚洲另类七区| 亚洲国产精品欧美一二99| 欧美色视频在线| 99久久精品国产毛片| 亚洲视频精选在线| 91国产福利在线| av日韩在线网站| 亚洲女人的天堂| 欧美日韩国产大片| 国产精品v欧美精品∨日韩| 日本成人在线看| 26uuu成人网一区二区三区| 一本色道久久综合亚洲精品高清| 久久99久久久久久久久久久| 国产三区在线成人av| 免费在线欧美黄色| 成人动漫一区二区在线| 一区二区三区四区五区视频在线观看 | 99久久国产综合精品色伊| 亚洲美女一区二区三区| 欧美视频精品在线| 欧美精品1区| 全部av―极品视觉盛宴亚洲| 精品国产91亚洲一区二区三区婷婷| 99成人在线| 国产a久久麻豆| 亚洲一区免费在线观看| 日韩欧美一级在线播放| 99国产精品久久久久久久 | 国产成人av电影在线| 中文字幕亚洲精品在线观看 | 日韩一区二区不卡| 国产日韩欧美一区二区| 成人三级伦理片| 亚洲v中文字幕| 久久欧美一区二区| 日本电影欧美片| 极品av少妇一区二区| 国产成人午夜精品5599| 伊人婷婷欧美激情| 精品国内片67194| 色欧美乱欧美15图片| 国产91丝袜在线播放0| 亚洲精品亚洲人成人网在线播放| 日韩一区二区免费视频| 久久大逼视频| 国产精品国码视频| 国产成人免费xxxxxxxx| 天天综合网 天天综合色| 国产亚洲制服色| 欧美日韩一区二区三区视频| 亚洲美女视频在线免费观看| jlzzjlzz国产精品久久| 蜜桃视频在线观看一区| 亚洲天堂网中文字| 久久综合色播五月| 欧美视频你懂的| 免费一区视频| 欧美日韩国产在线一区| 国产精品夜夜嗨| 亚洲成年人网站在线观看| 中文字幕欧美三区| 日韩欧美亚洲国产另类| 欧美性videosxxxxx| 亚洲精品在线二区| 91免费观看在线| 国产一区在线精品| 日本最新不卡在线| 一级中文字幕一区二区| 欧美高清在线一区| 日韩欧美国产午夜精品| 在线观看日韩电影| 性8sex亚洲区入口| 欧美日韩一区二区视频在线观看| 成人免费三级在线| 九色|91porny| 日韩精品一二三区| 一区二区三区免费| 国产精品久久久久精k8| 久久久噜噜噜久久人人看| 欧美丰满少妇xxxbbb| 麻豆亚洲精品| 99亚洲一区二区| 国产综合欧美| 色综合中文字幕国产 | 日本二三区不卡| 午夜在线观看免费一区| 亚洲大胆女人| 欧美久久99| 99视频在线精品| 粉嫩aⅴ一区二区三区四区五区| 另类小说色综合网站| 日韩av一区二区三区四区| 亚洲午夜一区二区| 18涩涩午夜精品.www| 国产精品三级久久久久三级| 久久综合九色综合欧美就去吻 | 日本aⅴ亚洲精品中文乱码| 亚洲一区二区三区四区在线观看| 国产精品久久久久久妇女6080| 国产日韩欧美精品电影三级在线| 精品少妇一区二区三区在线视频 | 亚洲aaa精品| 亚洲国产精品尤物yw在线观看| 亚洲欧美成人一区二区三区| 中文字幕一区二区三区在线观看| 中文字幕不卡一区| 中文字幕不卡在线| 国产精品欧美精品| 国产精品久久免费看| 中文字幕一区二区三| 亚洲天堂2016| 亚洲猫色日本管| 亚洲影院免费观看| 亚洲国产精品一区二区www在线 | 午夜久久tv| 红桃视频国产一区| 欧美不卡高清| 欧美系列一区| 亚洲黑丝一区二区| 亚洲成人原创| 美女精品一区二区| 国产精品99免费看| 91麻豆国产精品久久| 成人天堂资源www在线| 国产精品系列在线播放| 国产精品一区久久久久| 国产老肥熟一区二区三区| 国产丶欧美丶日本不卡视频| 成人精品免费看| 91年精品国产| 欧美日韩91| 欧美二区在线| 国内不卡一区二区三区|