精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

2020征文-手機圖解鴻蒙列表組件ListContainer

系統
文章由鴻蒙社區產出,想要了解更多內容請前往:51CTO和華為官方戰略合作共建的鴻蒙技術社區https://harmonyos.51cto.com/#zz

[[360076]]

想了解更多內容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術社區

https://harmonyos.51cto.com/#zz

一、什么是ListContainer

ListContainer是用來呈現連續、多行數據的列表組件,包含一系列相同類型的列表項。如下圖所示:


二、ListContainer的架構視圖

ListContainer的架構視圖如下所示:

ListContainer作為列表,其中的列表項數據是由適配器Adapter提供的,適配器Adapter作為ListContainer和數據源之間的中介&橋梁,將數據源中的數據映射到要展示的ListContainer中,ListContainer負責以列表的形式顯示適配器Adapter提供的數據。

三、ListContainer的使用步驟

ListContainer的使用步驟主要包括:

1、創建ListContainer

2、創建列表項的布局

3、使用POJO類封裝數據源中與每個列表項對應的數據

4、構造數據源

5、構造適配器Adapter

6、將數據源關聯到適配器Adapter

7、將適配器Adapter應用到ListContainer

四、ListContainer的使用示例

示例的運行效果如下圖所示:

開發步驟如下:

1、創建ListContainer(ability_main.xml)

  1. xmlns:ohos="http://schemas.huawei.com/res/ohos" 
  2.  
  3. ohos:id="$+id:list_container" 
  4.  
  5. ohos:height="match_parent" 
  6.  
  7. ohos:width="match_parent"/> 

 2、創建列表項的布局(item.xml)

  1. xmlns:ohos="http://schemas.huawei.com/res/ohos" 
  2.  
  3. ohos:height="match_content" 
  4.  
  5. ohos:width="match_parent" 
  6.  
  7. ohos:orientation="vertical"
  8.  
  9.  
  10. ohos:id="$+id:name" 
  11.  
  12. ohos:height="50vp" 
  13.  
  14. ohos:width="match_parent" 
  15.  
  16. ohos:padding="5vp" 
  17.  
  18. ohos:auto_font_size="true" 
  19.  
  20. ohos:text_alignment="center"/> 
  21.  
  22.  
  23. ohos:height="1vp" 
  24.  
  25. ohos:width="match_parent" 
  26.  
  27. ohos:background_element="#CCCCCC"/> 

 3、使用POJO類封裝數據源中與每個列表項對應的數據(Item.java)

POJO類指的是:只包含屬性和相應的getter和setter,而沒有業務邏輯的類。

  1. public class Item { 
  2.  
  3. private String name
  4.  
  5. public Item(String name) { 
  6.  
  7. this.name = name
  8.  
  9.  
  10. public String getName() { 
  11.  
  12. return name
  13.  
  14.  
  15. public void setName(String name) { 
  16.  
  17. this.name = name
  18.  
  19.  

 4、構造數據源(MainAbilitySlice.java) 

  1. public class MainAbilitySlice extends AbilitySlice { 
  2.  
  3. @Override 
  4.  
  5. public void onStart(Intent intent) { 
  6.  
  7. super.onStart(intent); 
  8.  
  9. super.setUIContent(ResourceTable.Layout_ability_main); 
  10.  
  11. List list = getData(); 
  12.  
  13.  
  14. private List getData() { 
  15.  
  16. List list = new ArrayList<>(); 
  17.  
  18. for (int i = 1; i <= 100; i++) { 
  19.  
  20. list.add(new Item("Item " + i)); 
  21.  
  22.  
  23. return list; 
  24.  
  25.  

 5、構造適配器Adapter(MyItemProvider.java)

常用的適配器類是RecycleItemProvider,繼承該類時需要重寫四個方法:getCount()、getItem()、getItemId()和getComponent()。其中,對于方法getComponent(),當某個列表項從不可見變為可見時會自動調用該方法,在該方法中適配器Adapter會從數據源取數據,并將返回的數據封裝在一個Component對象中,以便將該對象返回給ListContainer,從而將數據映射到對應的列表項。

  1. public class MyItemProvider extends RecycleItemProvider { 
  2.  
  3. private List list; 
  4.  
  5. private AbilitySlice slice; 
  6.  
  7. public MyItemProvider(List list, AbilitySlice slice) { 
  8.  
  9. this.list = list; 
  10.  
  11. this.slice = slice; 
  12.  
  13.  
  14. @Override 
  15.  
  16. public int getCount() { 
  17.  
  18. return list.size(); 
  19.  
  20.  
  21. @Override 
  22.  
  23. public Object getItem(int position) { 
  24.  
  25. return list.get(position); 
  26.  
  27.  
  28. @Override 
  29.  
  30. public long getItemId(int position) { 
  31.  
  32. return position; 
  33.  
  34.  
  35. @Override 
  36.  
  37. public Component getComponent(int position, Component convertComponent, ComponentContainer componentContainer) { 
  38.  
  39. convertComponent = LayoutScatter.getInstance(slice) 
  40.  
  41. .parse(ResourceTable.Layout_item, nullfalse); 
  42.  
  43. Text text = (Text) convertComponent.findComponentById(ResourceTable.Id_name); 
  44.  
  45. text.setText(list.get(position).getName()); 
  46.  
  47. return convertComponent; 
  48.  
  49.  

 6、將數據源關聯到適配器Adapter(MainAbilitySlice.java) 

  1. public class MainAbilitySlice extends AbilitySlice { 
  2.  
  3. @Override 
  4.  
  5. public void onStart(Intent intent) { 
  6.  
  7. ...... 
  8.  
  9. List list = getData(); 
  10.  
  11. MyItemProvider myItemProvider = new MyItemProvider(list, this); 
  12.  
  13.  
  14. ...... 
  15.  

 7、將適配器Adapter應用到ListContainer(MainAbilitySlice.java) 

  1. public class MainAbilitySlice extends AbilitySlice { 
  2.  
  3. @Override 
  4.  
  5. public void onStart(Intent intent) { 
  6.  
  7. ...... 
  8.  
  9. MyItemProvider myItemProvider = new MyItemProvider(list, this); 
  10.  
  11. ListContainer listContainer = (ListContainer) findComponentById(ResourceTable.Id_list_container); 
  12.  
  13. listContainer.setItemProvider(myItemProvider); 
  14.  
  15.  
  16. ...... 
  17.  

 五、適配器Adapter的優化

對于上面的第5步,當某個列表項從不可見變為可見時,對于自動調用的方法getComponent(),我們是根據列表項的布局文件item.xml創建了一個列表項的實例。這樣的做法性能較差。因為系統會對變為不可見的列表項實例進行緩存,所以對于方法getComponent()中的第二個參數convertComponent有可能不為null。當convertComponent不為null時,說明系統把緩存中的某個列表項實例傳遞過來了,因此,完全可以復用該列表項實例,而沒有必要重新創建一個列表項實例。優化方式如下:

  1. public class MyItemProvider extends RecycleItemProvider { 
  2.  
  3. ...... 
  4.  
  5. @Override 
  6.  
  7. public Component getComponent(int position, Component convertComponent, ComponentContainer componentContainer) { 
  8.  
  9. if (convertComponent == null) { 
  10.  
  11. convertComponent = LayoutScatter.getInstance(slice) 
  12.  
  13. .parse(ResourceTable.Layout_item, nullfalse); 
  14.  
  15.  
  16. Text text = (Text) convertComponent.findComponentById(ResourceTable.Id_name); 
  17.  
  18. text.setText(list.get(position).getName()); 
  19.  
  20. return convertComponent; 
  21.  
  22.  

 六、使用ViewHolder對適配器Adapter做終極優化

在上面的代碼中,得到列表項實例后(不管是新創建的列表項實例,還是從緩存中獲得的列表項實例),都要調用方法findComponentById()以獲得列表項中的子組件。調用方法findComponentById()是比較耗費性能的,所以好的做法是:在新創建列表項實例時,就調用方法findComponentById()以獲得列表項中的所有子組件,并且將所有子組件通過ViewHolder綁定到列表項實例。這樣,當從緩存中獲得列表項實例后,就無需再調用方法findComponentById()了,直接獲得列表項實例綁定的ViewHolder就可以得到所有子組件了。優化方式如下:

  1. public class MyItemProvider extends RecycleItemProvider { 
  2.  
  3. ...... 
  4.  
  5. @Override 
  6.  
  7. public Component getComponent(int position, Component convertComponent, ComponentContainer componentContainer) { 
  8.  
  9. ViewHolder viewHolder; 
  10.  
  11. if (convertComponent == null) { 
  12.  
  13. convertComponent = LayoutScatter.getInstance(slice) 
  14.  
  15. .parse(ResourceTable.Layout_item, nullfalse); 
  16.  
  17. viewHolder = new ViewHolder(); 
  18.  
  19. viewHolder.text = (Text) convertComponent.findComponentById(ResourceTable.Id_name); 
  20.  
  21. convertComponent.setTag(viewHolder); 
  22.  
  23. else { 
  24.  
  25. viewHolder = (ViewHolder) convertComponent.getTag(); 
  26.  
  27.  
  28. viewHolder.text.setText(list.get(position).getName()); 
  29.  
  30. return convertComponent; 
  31.  
  32.  
  33. class ViewHolder { 
  34.  
  35. Text text; 
  36.  
  37.  

 如果你理解了為什么要這么優化,相信你會發現:當列表項中只有一個子組件時,也可以不引入ViewHolder,而是將這個子組件直接綁定到列表項實例。代碼如下所示:

  1. public class MyItemProvider extends RecycleItemProvider { 
  2.  
  3. ...... 
  4.  
  5. @Override 
  6.  
  7. public Component getComponent(int position, Component convertComponent, ComponentContainer componentContainer) { 
  8.  
  9. Text text; 
  10.  
  11. if (convertComponent == null) { 
  12.  
  13. convertComponent = LayoutScatter.getInstance(slice) 
  14.  
  15. .parse(ResourceTable.Layout_item, nullfalse); 
  16.  
  17. text = (Text) convertComponent.findComponentById(ResourceTable.Id_name); 
  18.  
  19. convertComponent.setTag(text); 
  20.  
  21. else { 
  22.  
  23. text = (Text) convertComponent.getTag(); 
  24.  
  25.  
  26. text.setText(list.get(position).getName()); 
  27.  
  28. return convertComponent; 
  29.  
  30.  

 示例源代碼,請見附件。

歡迎訂閱我的專欄【圖解鴻蒙】:

https://harmonyos.51cto.com/column/27

©著作權歸作者和HarmonyOS技術社區共同所有,如需轉載,請注明出處,否則將追究法律責任

想了解更多內容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術社區

https://harmonyos.51cto.com/#zz

 

責任編輯:jianghua 來源: 鴻蒙社區
相關推薦

2021-08-12 14:59:15

鴻蒙HarmonyOS應用

2020-12-22 11:09:20

鴻蒙Feature AbiAbilitySlic

2020-12-28 11:19:06

鴻蒙HarmonyOSPage Abilit

2020-12-04 12:42:59

組件鴻蒙Text

2020-12-23 11:36:23

鴻蒙HarmonyOS應用程序開發

2020-12-22 09:48:18

鴻蒙HarmonyOS應用程序

2020-12-23 11:24:34

鴻蒙開發IDE安裝

2020-12-22 11:20:36

鴻蒙HarmonyOS游戲

2020-12-23 11:45:27

鴻蒙HarmonyOSTextField組件

2020-12-28 11:30:07

鴻蒙HarmonyOS分布式

2020-12-09 11:53:24

鴻蒙開發HelloWord

2020-12-25 10:39:53

鴻蒙開發JS

2020-12-24 10:05:54

鴻蒙鴻蒙開發Hello World

2020-12-24 11:24:31

鴻蒙開發JS

2021-08-25 09:49:48

鴻蒙HarmonyOS應用

2020-12-29 09:59:01

鴻蒙HarmonyOS智能家居

2022-04-24 15:17:56

鴻蒙操作系統

2020-12-14 09:58:28

鴻蒙HarmonyOS手表游戲

2020-12-11 12:27:35

鴻蒙HarmonyOS

2020-12-18 11:05:25

鴻蒙HarmonyOS游戲
點贊
收藏

51CTO技術棧公眾號

91精品国产乱码| 天天干免费视频| 在线国产91| 欧美三级午夜理伦三级小说| 麻豆极品一区二区三区| 欧美精品一区二区三区视频| 中文字幕av日韩精品| 免费看日批视频| 国产伦精品一区二区三区在线播放| 国产人妖乱国产精品人妖| 欧美激情性做爰免费视频| 久久国产精品国产精品| 久草福利在线| 欧美亚洲专区| 日韩精品免费在线播放| 久艹视频在线免费观看| 亚洲爱情岛论坛永久| 久久久久久久久99精品大| 欧美性色aⅴ视频一区日韩精品| 精品国产中文字幕| 日本三级网站在线观看| 一区二区亚洲视频| 一区二区三区加勒比av| 92看片淫黄大片看国产片| 亚洲色图100p| 韩国精品视频在线观看| 国产精品美女久久久久久2018| 国产91在线高潮白浆在线观看| www.超碰97| 三妻四妾完整版在线观看电视剧 | 日韩在线xxx| 五月天久久久久久| 国产日韩一区| 亚洲精品视频中文字幕| 国产真实乱子伦| 麻豆国产在线播放| 日本欧美一区二区在线观看| 尤物九九久久国产精品的分类 | 久草综合在线视频| 精品国产不卡一区二区| 亚洲免费在线播放| 国产精品裸体一区二区三区| 久久久久99精品| 无码日韩精品一区二区免费| 日韩欧美在线一区| 色爱区成人综合网| 国产99视频在线| 黄色在线一区| 亚洲欧美日韩国产精品| 香蕉视频999| 影院在线观看全集免费观看| 成人性生交大片免费看中文网站 | 欧美激情网站| 五月婷婷久久丁香| 日韩精品久久一区| 国产精品-色哟哟| 一区免费在线| 中文字幕欧美在线| 日本人dh亚洲人ⅹxx| 国产精品xx| 国产精品青草综合久久久久99| 欧美午夜精品理论片a级大开眼界| 中文字幕在线视频免费| 综合精品久久| 精品亚洲男同gayvideo网站| 在线观看国产三级| 色综合一区二区日本韩国亚洲| 亚洲永久免费av| 国内少妇毛片视频| 成人在线观看黄色| 成人av在线影院| 国产一区玩具在线观看| 日韩伦人妻无码| 国产精品毛片一区二区三区| 欧美中文在线字幕| 美女福利视频在线观看| 国产一区国产二区国产三区| 欧美本精品男人aⅴ天堂| 午夜精品在线免费观看| 黑人另类精品××××性爽| 国产精品久久久久国产精品日日| 国产在线一区二| 国产美女三级无套内谢| 日日嗨av一区二区三区四区| 午夜精品久久久久久久白皮肤| 天天爽天天爽天天爽| 香蕉久久夜色精品国产更新时间| 亚洲精品在线不卡| 日本免费网站视频| 极品尤物久久久av免费看| 国产91|九色| 日本在线免费观看| 狂野欧美一区| 欧美亚洲视频在线观看| 五月激情丁香网| 国产精品久久国产愉拍| 国产色视频一区| 人妻丰满熟妇av无码区hd| 韩国欧美国产1区| 国产精品丝袜高跟| 五月天激情四射| 久久成人免费电影| 国产欧美 在线欧美| 性一交一乱一精一晶| 26uuu国产电影一区二区| 国产伦精品一区二区三区在线| 黄色小视频在线观看| 亚洲精品国产高清久久伦理二区| 亚洲精品国产一区| 国产高清自拍视频在线观看| 久久麻豆一区二区| 欧美极品色图| 日韩专区av| 一区二区三区四区亚洲| 国模杨依粉嫩蝴蝶150p| 美女精品视频在线| 国产一区二区日韩| 先锋影音av在线| 精品一二三区| 一区二区亚洲精品国产| 久久久夜色精品| 精品动漫3d一区二区三区免费| 国产精品久久久久久久一区探花| а中文在线天堂| 99久久久国产精品| 久久亚洲一区二区| 蜜桃免费在线| 亚洲午夜精品一区二区三区他趣| 欧美乱做爰xxxⅹ久久久| 成人日韩在线观看| 欧美性大战久久| 性久久久久久久久久久| 亚洲精品亚洲人成在线观看| 亚洲欧美日韩国产精品| 亚洲精品在线观看av| 久久99久久99精品免视看婷婷 | 久久精品99久久无色码中文字幕| 精品日韩av一区二区| 一级片黄色录像| 久久久久午夜电影| 国产精品视频在线播放| 国产尤物视频在线| 色综合天天综合在线视频| 午夜精品久久久内射近拍高清| 中文字幕av一区二区三区四区| 久久精品男人天堂| 日本少妇bbwbbw精品| 国产成人精品免费| 久久伊人一区二区| 咪咪网在线视频| 亚洲精品成人久久电影| 无码少妇精品一区二区免费动态| 国产日韩一区二区三区在线| 国产青春久久久国产毛片| 成年人国产在线观看| 精品国产电影一区二区 | 一本一道综合狠狠老| 欧美大片免费播放器| 国产日韩亚洲| 日韩欧美一区二区三区四区| 日韩高清在线| 日韩欧美不卡一区| 欧美黄色激情视频| 欧美精选一区| 国产精品第一区| 亚洲av少妇一区二区在线观看| 亚洲视频免费看| 日韩av片在线看| 精品成人18| 精品自拍视频在线观看| 波多野结衣视频网址| 国产成人免费在线视频| 色狠狠久久av五月综合|| 美女色狠狠久久| 寂寞少妇一区二区三区| 亚洲一区欧美一区| 91成人在线观看喷潮蘑菇| 操欧美女人视频| www.日韩av.com| 中国一级免费毛片| 国产精品综合在线视频| 青青草成人网| 韩国成人二区| 亚洲精品自拍偷拍| 伊人网av在线| 亚洲一区二区三区自拍| 91精品人妻一区二区三区蜜桃欧美 | 亚洲专区区免费| 欧美一区网站| 国产精品自产拍在线观看| 国产黄色在线网站| 欧美三级电影精品| 国产精品无码久久久久久| 日韩不卡在线观看日韩不卡视频| 看全色黄大色大片| 日韩国产一二三区| 久久久久久久久久久人体| 色视频在线观看免费| 亚洲国产综合色| 成人免费毛片糖心| 高清成人在线观看| 亚洲免费看av| 日韩国产一区二区三区| 99re在线观看| h片在线观看网站| 国产视频久久久久| 国产肥老妇视频| 在线观看亚洲精品| 欧美色图亚洲激情| 国产精品538一区二区在线| 日本xxxxxxx免费视频| 牛夜精品久久久久久久99黑人| 欧美日韩另类综合| 丁香婷婷成人| 91传媒免费看| 日本精品600av| 精品国产一区二区三区久久久狼| 色wwwwww| 日韩亚洲欧美高清| 久久亚洲成人av| 国产精品国产三级国产普通话蜜臀| 精品国产一区在线| 国产一区二区在线看| 91成人在线视频观看| 精品美女久久| 久久精品国产一区二区三区不卡| 亚洲女同志freevdieo| 亚洲女人初尝黑人巨大| 国产 欧美 自拍| 欧美视频中文在线看| 精品无码久久久久久久久| 亚洲欧美在线aaa| 中文字幕制服丝袜| 精品亚洲成av人在线观看| 成人性做爰aaa片免费看不忠| 精品国产一区探花在线观看| 精品国产一区二区三区久久久久久| 日韩一级淫片| 5278欧美一区二区三区| 免费污视频在线| 亚洲欧美激情精品一区二区| 黄色av小说在线观看| 欧美成人午夜电影| www.香蕉视频| 色综合久久66| 天天综合天天干| 国产精品大尺度| 黄色免费一级视频| 中文字幕欧美日本乱码一线二线| 欧美性受xxxxxx黑人xyx性爽| 欧美日韩亚洲一区三区| 丰满女人性猛交| 欧美巨大xxxx| 久久国产精品一区二区三区四区| 久久精品国产亚洲blacked| 日本不卡免费高清视频| 自拍偷拍亚洲视频| 欧美在线观看一区二区三区| 深夜成人在线| 日本中文字幕不卡免费| 香蕉视频亚洲一级| 伦伦影院午夜日韩欧美限制| 性感美女一级片| 国产丝袜高跟一区| 大片免费播放在线视频| 搡老女人一区二区三区视频tv| 欧美一级淫片免费视频魅影视频| 欧美不卡一区二区| 外国精品视频在线观看 | 18涩涩午夜精品.www| 永久免费看mv网站入口| 亚洲精品成人精品456| 久久精品美女视频| 色综合久久精品| 在线视频 中文字幕| 亚洲国产视频在线| 91视频免费观看网站| 日本一区二区三区在线不卡| 亚洲欧洲综合网| 亚洲一区二区三区中文字幕| 在线观看日韩中文字幕| 欧美日韩一区二区在线观看视频| 国产女18毛片多18精品| 精品日产卡一卡二卡麻豆| 麻豆国产在线播放| 久久资源免费视频| 免费v片在线观看| 国产乱人伦真实精品视频| 亚洲一二av| 深田咏美在线x99av| 欧美99久久| 国产精品第12页| 精品一区二区三区在线观看 | 国产午夜久久久久| 欧美在线一级片| 欧美国产日本视频| 男女免费视频网站| 亚洲精品视频自拍| 天堂网视频在线| 日韩一区二区三区视频在线观看| 天天干天天做天天操| 日韩一区二区在线视频| 91超碰国产在线| 97免费中文视频在线观看| 日韩av一级| 国产一区再线| 女同性一区二区三区人了人一| 99999精品视频| 国产成人精品免费视频网站| 国产成人精品视频免费| 亚洲va欧美va人人爽午夜 | 麻豆专区一区二区三区四区五区| 国产免费一区二区三区最新6| 国产精品一区二区三区四区| 日本黄色网址大全| 亚洲香肠在线观看| 国产精品视频在线观看免费| 亚洲三级av在线| 成人综合影院| 欧美中文在线视频| 国产主播性色av福利精品一区| 中文字幕成人一区| 日本美女一区二区三区| 日韩 中文字幕| 亚洲成av人在线观看| 国产超碰人人模人人爽人人添| 在线成人免费网站| 不卡av播放| 国产精品久久久久久av| 欧美高清视频看片在线观看| 成人一区二区av| 国产欧美不卡| 国产婷婷在线观看| 一区二区三区久久| 国产免费福利视频| 久久精品91久久香蕉加勒比| jizz亚洲女人高潮大叫| 91久久精品久久国产性色也91| 日韩在线亚洲| 性做爰过程免费播放| 久久成人免费日本黄色| 最新日韩免费视频| 欧美系列在线观看| 国产美女性感在线观看懂色av | 亚洲性线免费观看视频成熟| 免费成人在线电影| 美国av一区二区三区| 午夜亚洲性色视频| 手机av免费看| 色乱码一区二区三区88| 在线观看黄色网| 中文字幕亚洲欧美在线| 国产精品一区二区免费福利视频| 日韩在线电影一区| 欧美aⅴ一区二区三区视频| 亚洲AV成人精品| 一区二区成人在线| 四虎免费在线观看| 55夜色66夜色国产精品视频| 精品一区三区| 欧美日韩中文字幕在线播放| 国产激情偷乱视频一区二区三区| 麻豆疯狂做受xxxx高潮视频| 精品捆绑美女sm三区| 欧美aaaaa性bbbbb小妇| 日韩av高清| 精品一区二区三区在线观看| 欧美成人一二三区| 精品国产乱码久久久久久老虎| 麻豆网站免费在线观看| 日韩电影在线播放| 狠狠色丁香婷综合久久| 免费在线观看亚洲| 亚洲嫩模很污视频| 国产精品一区二区三区av| 欧美一区二区三区四区五区六区| 日韩中文字幕麻豆| 国产一区二区视频在线观看免费| 日韩精品一区二区三区视频| 毛片在线网站| 亚洲欧洲日夜超级视频| 国产成人免费在线视频| 欧美另类一区二区| 自拍偷拍亚洲精品| aiai久久| 9久久婷婷国产综合精品性色| 亚洲女子a中天字幕| 午夜影院免费体验区| 国产日韩精品在线观看| 欧美日韩一区二区国产| www在线观看免费视频| 欧美一区二区三区视频在线观看| 在线看片福利| 亚洲第一页在线视频| 99久久精品免费看| 日产电影一区二区三区| 色综久久综合桃花网| 国产精品18hdxxxⅹ在线| 亚洲污视频在线观看| 午夜久久久影院|