国产精品成人免费视频_91丝袜美腿美女视频网站_国产一区二区三区在线看_亚洲欧美另类中文字幕_在线电影av不卡网址_国产视频丨精品|在线观看_日韩一区二区三区国产_国产欧美va欧美va香蕉在线_热re91久久精品国99热蜜臀_亚洲第一精品电影_久久九九亚洲综合_国产成人综合精品_97视频在线观看网址_精品视频久久久久久_日韩av片免费在线观看_久久精品国产99国产精品澳门

聚集網(jujiwang.com) - 收錄免費分類目錄信息軟文發布網址提交
免費加入

ArrayAdapter 在 Android 應用開發中的最佳實踐和常見問題解答 (ArrayAdapter)

文章編號:11206時間:2024-09-30人氣:


Android

ArrayAdapter 是 Android SDK 中一種強大的適配器,可用于高效地將數據填充到視圖中。它是一個通用適配器,這意味著它可以與各種類型的數據源一起使用,包括數組、集合和游標。在本文中,我們將探討 ArrayAdapter 的最佳實踐,并解決一些常見問題,以幫助您有效地使用 ArrayAdapter。

最佳實踐

  1. 使用合適的構造方法:ArrayAdapter 提供了幾個構造方法,用于創建不同類型的數據源的適配器。根據您數據源的類型選擇合適的構造方法很重要,因為它將影響適配器的功能。
  2. 使用 ViewHolder 模式:ViewHolder 模式是一種優化列表視圖性能的技術。它涉及緩存控件的視圖以避免在滾動時重新創建它們。通過使用 ViewHolder 模式,您可以在滾動列表時顯

應用開發中的最佳實踐和常見問題解答

Android之下拉框選擇使用示例

ArrayAdapter

在Android應用開發中,創建下拉框選擇功能通常通過Spinner控件實現。 以下是一個詳細的使用示例:首先,在XML布局中,設置一個Spinner控件及其相關屬性,比如定義一個ArrayAdapter以管理下拉框中的選項:在XML布局中:Layout_width=wrap_contentandroid:layout_height=wrap_contentandroid:dropDownViewResource=@android:layout/simple_spinner_dropdown_item />然后,在Java代碼中,初始化Spinner并設置適配器:在Java代碼中:Spinner spinner = findViewById();ArrayAdapter adapter = new ArrayAdapter>(this, _spinner_item, yourData);(_spinner_dropdown_item);(adapter);要獲取用戶選擇的值,可以設置OnItemSelectedListener監聽器:獲取選中值(new () {@Overridepublic void onItemSelected(AdapterView parent, View view, int position, long id) {String selectedValue = (position)();// 處理選中值}@Overridepublic void onNothingSelected(AdapterView parent) {// 處理未選中}});此外,也可以通過代碼主動獲取選中項:主動獲取:int selectedPosition = ();String selectedValue = ()();如果需要初始化默認值,可以通過setSelection()方法:設置默認值:Button button = findViewById();(new () {@Overridepublic void onClick(View v) {(1); // 設置默認為第二項}});以上就是Android下拉框選擇功能的基本使用方法,你可以根據實際需求進行擴展和自定義。

ArrayAdapter和BaseAdapter的區別

ArrayAdapter是從BaseAdapter派生出來的,具備BaseAdapter的所有功能,但ArrayAdapter更為強大,它實例化時可以直接使用泛型構造,我們在Android SDK中可以看到的字樣,當然也可以使用 ArrayAdapter(Context context, int textViewResourceId) 第二個參數直接綁定一個layout,下文的例子我們使用Java泛型實例化。 通過Adapter我們構造一個支持icon的item,下面我們在getView中使用的是imageView顯示圖片,當然android123提示大家其實TextView也可以直接綁定一個drawable對象顯示的,voidsetCompoundDrawables(Drawable left, Drawable top, Drawable right, Drawable bottom) 或voidsetCompoundDrawableswithIntrinsicBounds(int left, int top, int right, int bottom) 和voidsetCompoundDrawablesWithIntrinsicBounds(Drawable left, Drawable top, Drawable right, Drawable bottom) 即可,其中第二種的int類型指定的資源id,方位則是textview什么位置顯示drawable對象說了這么多ArrayAdapater一起看個例子,來實例化ArrayAdapter吧,我們可以修改Res/layout/icon_list_文件來實現自定義顯示效果。 public class IconListAdapter extends ArrayAdapter<> {protected LayoutInflater mInflater;private static final int mResource = _list_item; //xml布局文件public IconListAdapter(Context context,List items) {super(context, mResource, items);mInflater = (LayoutInflater) (_INFLATER_SERVICE);}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {TextView text;ImageView image;View view;if (convertView == null) {view = (mResource, parent, false);} else {view = convertView;}text = (TextView) (1);(getItem(position)());image = (ImageView) ();//可以使用上文說的三種方法,直接用TextView類的setCompoundDrawables等方法綁定圖標顯示(getItem(position)());return view;}public static class IconListItem {//每條顯示的構造方法private final String mTitle;private final int mResource;public IconListItem(String title, int resource) {mResource = resource;mTitle = title;}public String getTitle() {return mTitle;}public int getResource() {return mResource;}}}當然對于ArrayAdapter到底比BaseAdapter先進到哪里呢?從名稱來看Array我們可以聯系到數組的很多操作,沒錯Android123給大家列出本類所有成員方法實用的處理方式,比如voidadd(T object)//添加一個對象到本ArrayAdaptervoidclear()//清除所有元素static ArrayAdaptercreateFromResource(Context context, int textArrayResId, int textViewResId)//從layout資源構造arrayadapterContextgetContext()//獲取實例intgetCount()ViewgetDropDownView(int position, View convertView, ViewGroup parent)//獲取drop down的popup風格選擇條目的內容,參數1是位置,參數2可以通過強制轉換直接獲取本條的內容FiltergetFilter() //使用正則過濾數據TgetItem(int position)//獲取單條內容longgetItemId(int position)intgetPosition(T item) //通過內容獲取是某條ViewgetView(int position, View convertView, ViewGroup parent)voidinsert(T object, int index)//插入新條目到數組的index位置voidnotifyDataSetChanged()//通知數據變化了,告訴綁定Adapter的widget來更新UIvoidremove(T object)//移出一條從數組,這里并沒有指定位置voidsetDropDownViewResource(int resource)//設置dropdown的layout風格Sets the layout resource to create the drop down (boolean notifyOnChange)//本條是arrayadapter最強大的功能,android123強烈推薦處理大數據時使用該方法,可以降低ui的處理量,刷新ui可以更快速,主要可以停止對(add(T), insert(T, int), remove(T), clear() 的操作,當然可以通過 notifyDataSetChanged(). 或 setNotifyOnChange(true) 通知變化voidsort(Comparator comparator)//這里是android開發網經常用的排序,使用arrayadapter可以直接排序,十分方便所以最終android123推薦大家什么情況使用arrayadapter,什么時候使用baseadapter。 當數量較多,比如超過100條或頻繁動態增減時使用arrayadapter可以方便控制ui,通過setNotifyOnChanage方法,如果比較簡單僅僅呈現直接從 baseadapter更節省資源

Android開發中autocompletetextview怎么不能自動顯示

adapter寫的有問題吧,我沒用過自定義adapter,之前用arrayadapter就直接設置就可以了//初始化AdapterArrayAdapter adapter = new ArrayAdapter(getApplicationContext(),_dropdown_item_1line, all_list);//對自動補全控件設置綁定的(adapter);你先用arrayAdapter試一下看看是不是adapter的問題。 再答應一下看看cursor取數據取得有沒有問題。

如何使用Array Adapter

android中的Array adapter類用于把一個列表中的數據綁定到一個listview, 它就像一個橋梁,把數據和視圖聯系起來,下面以我的編碼實踐講解如何使用arrayadapter來實現自定義的顯示格式。如下圖所示,它的功能是在文本框輸入內容,點擊OK,可以把輸入的數據加到下面的列表中,列表每一行顯示輸入的內容和時期1.添加兩個layout, 一個是activity的, 一個是每一行數據的 2.增加一個類用于保存每一行的數據: 3.寫一個自定義的array adapter,覆蓋原來的getView方法,該方法的功能即是返回一個VIEW,這個view將被用于顯示一行數據package ;import ;import ;public class ToDoItem {String task;Date created;public ToDoItem(String t, Date c){task = t; = c;}public ToDoItem(String t){this(t, new Date(()));}public String getTask(){return task;}public String getDate(){SimpleDateFormat sdf = new SimpleDateFormat(dd/MM/yy);String dataString = (created);return dataString;}@Overridepublic String toString(){SimpleDateFormat sdf = new SimpleDateFormat(dd/MM/yy);String dataString = (created);return [+ dataString +] + task;}}3.寫activity的代碼: package ;import ;import ;import ;import ;import ;import ;import ;import ;public class MyArrayAdapter extends ArrayAdapter {int resource;public MyArrayAdapter(Context c, int r,List items){super(c, r, items); = r;}@Overridepublic View getView(int position, View v, ViewGroup parent) {ToDoItem item=getItem(position);LinearLayout todoView;String taskString = ();String dateString = ();if (v == null) {todoView = new LinearLayout(getContext());LayoutInflater iv = (LayoutInflater)getContext()(_INFLATER_SERVICE);(resource, todoView, true);} else {todoView = (LinearLayout)v;}TextView data = (TextView)();TextView text = (TextView)();(dateString);(taskString);return todoView;}}ArrayAdapter也可以用于Spinner,如下代碼所示: package ;import ;import ;import ;import ;import ;import ;import ;import ;import ;public class ToDoList extends Activity{private ArrayList todoItems;private ListView mListView;private EditText mEditText;private MyArrayAdapter aa;@Overridepublic void onCreate(Bundle savedInstanceState) {(savedInstanceState);(); = (ListView)(); = (EditText)(1);todoItems = new ArrayList();aa = new MyArrayAdapter(this, ,todoItems);(aa);Button btn = (Button)(3);(new OnClickListener(){public void onClick(View v){ToDoItem item = new ToDoItem(()());(0, item);();();}});}}

android中Adapter有什么作用?常見的Adapter有哪些?

apapter使數據綁定到控件變得更加簡單和靈活...用途為容器提供子視圖,利用視圖的數據和元數據來構建每個子視圖。有arrayAdapter,simpleCursorAdapter,cursorAdapterresourceCursorAdapter如果需要自定義適配器可以擴展抽象類BaseAdapter



相關標簽: ArrayAdapter、 ArrayAdapter、 應用開發中的最佳實踐和常見問題解答、 Android、

上一篇:避免在常量中使用換行符的最佳實踐避免在常

下一篇:使用ArrayAdapter來增強RecyclerView的數據

內容聲明:

1、本站收錄的內容來源于大數據收集,版權歸原網站所有!
2、本站收錄的內容若侵害到您的利益,請聯系我們進行刪除處理!
3、本站不接受違法信息,如您發現違法內容,請聯系我們進行舉報處理!
4、本文地址:http://www.sycxjdsbhs.com/article/be31b9066badf4d4e827.html,復制請保留版權鏈接!


溫馨小提示:在您的網站做上本站友情鏈接,訪問一次即可自動收錄并自動排在本站第一位!
隨機文章
全局變量的替代方案:探索替代選項以提高代碼質量 (全局變量的替代方法)

全局變量的替代方案:探索替代選項以提高代碼質量 (全局變量的替代方法)

全局變量通常被認為是一種不好的做法,因為它會導致難以維護和容易出錯的代碼,有幾種替代方案可以提高代碼質量并避免使用全局變量,替代方案1,局部變量局部變量只在函數或塊的作用域內可用,這限制了它們的可見性,并使得追蹤代碼中的變量更容易,例如,以下代碼使用局部變量來存儲一個計數器,functionincrementCounter,var...。

技術教程 2024-10-01 10:58:14

激發創造力:從頭到尾探索網頁背景圖片的無限可能性 (激發創造力英語)

激發創造力:從頭到尾探索網頁背景圖片的無限可能性 (激發創造力英語)

前言網頁背景圖片在網站設計中扮演著至關重要的角色,它們可以創建視覺吸引力、建立品牌標識、傳達情緒,甚至改善用戶體驗,選擇和使用網頁背景圖片卻并非易事,本文將深入探索網頁背景圖片的無限可能性,從選擇、優化到實施,為您提供全面的指南,通過遵循這些最佳實踐,您將能夠利用背景圖片的強大功能,打造令人印象深刻且富有創意的網站,選擇合適的背景圖片...。

互聯網資訊 2024-10-01 04:18:09

Minimap 策略:利用游戲內地圖主導戰場 (minimax招聘)

Minimap 策略:利用游戲內地圖主導戰場 (minimax招聘)

Minimap策略,利用游戲內地圖主導戰場,minimax招聘,前言在快速發展的競技游戲中,信息主導性往往能決定勝負,尤其是在需要團隊合作及戰略決策的游戲中,有效地使用游戲內地圖,Minimap,來收集和傳達信息至關重要,本文將深入探討Minimap策略,闡明其重要性以及如何利用它來提升你的游戲水平,Minimap的重要性全局視野,M...。

技術教程 2024-09-28 00:12:58

探索先進的AJAX框架,提升Web應用的響應能力 (探索先進的教學理念這句話準確嗎對嗎)

探索先進的AJAX框架,提升Web應用的響應能力 (探索先進的教學理念這句話準確嗎對嗎)

AJAX,AsynchronousJavaScriptandXML,是一種web開發技術,它允許Web應用與服務器進行異步通信,而無需重新加載整個頁面,AJAX的優勢提升響應能力,AJAX可以實現數據的局部更新,從而提升Web應用的響應能力和用戶體驗,減少服務器負載,通過只請求所需數據,AJAX可以減少服務器負載,提高系統的整體性能,...。

最新資訊 2024-09-26 11:29:41

Zzip 的客戶服務:優質的支持,讓您安心無憂

Zzip 的客戶服務:優質的支持,讓您安心無憂

在當今快速發展的數字世界中,獲得優質的客戶服務至關重要,Zzip深知這一點,致力于為其客戶提供卓越的支持服務,讓您安心無憂,24,7全天候支持Zzip的客戶服務團隊全天候24,7為您提供支持,無論何時遇到問題,您都可以通過實時聊天、電子郵件或電話聯系我們的專業團隊,我們的團隊由經驗豐富的支持專家組成,他們精通我們的產品和服務,他們將竭...。

互聯網資訊 2024-09-26 10:39:06

從頭開始構建 Spring MVC 應用程序:一步一步的教程 (從頭開始構建大型語言模型 pdf)

從頭開始構建 Spring MVC 應用程序:一步一步的教程 (從頭開始構建大型語言模型 pdf)

一步一步的教程本教程將指導你從頭開始構建SpringMVC應用程序,SpringMVC是一個流行的Java框架,用于構建Web應用程序,它提供了許多特性,例如請求映射、表單處理、模型和視圖解析器,先決條件在開始本教程之前,你需要安裝以下軟件,Java8或更高版本Maven3或更高版本Gradle6或更高版本,可選,創建一個新項目使用你...。

最新資訊 2024-09-24 17:45:31

Android Signature(android開發菜鳥教程)

Android Signature(android開發菜鳥教程)

g>,密鑰庫路徑,密鑰庫文件的路徑,密鑰庫密碼,密鑰庫文件的密碼,密鑰庫別名,密鑰別名,密鑰密碼,密鑰密碼,點擊簽署APK按鈕,驗證Android簽名要驗證Android簽名,你可以使用以下工具,apksignerverify,`apksignerverifymy,app.apk`jarsignerverify,`jarsigne...。

本站公告 2024-09-14 02:48:13

揭秘 Linux Socket 編程:建立穩健的客戶端和服務器 (揭秘英國新首相:草根律師 愛踢球)

揭秘 Linux Socket 編程:建立穩健的客戶端和服務器 (揭秘英國新首相:草根律師 愛踢球)

引言Socket編程是Linux環境中實現網絡通信的關鍵技術,通過使用Socket,我們可以創建客戶端和服務器應用程序,在不同的計算機或網絡設備之間進行數據交換,本文將深入探究LinuxSocket編程,幫助您掌握建立穩健的客戶端和服務器應用程序的知識和技能,Socket基礎什么是Socket,Socket是一個網絡通信的端點,它定義...。

技術教程 2024-09-12 05:07:36

聚合函數基礎:深入了解數據匯總的基礎 (聚合函數基礎知識)

聚合函數基礎:深入了解數據匯總的基礎 (聚合函數基礎知識)

概述聚合函數是數據分析和處理中不可或缺的工具,它們允許我們根據數據集合計算匯總值,例如求和、求平均值或查找最大值和最小值,了解聚合函數的基礎對于有效地利用它們并獲得有意義的見解至關重要,常見聚合函數最常用的聚合函數包括,COUNT,計算數據集中的行數,SUM,計算一列中的所有數值的總和,AVG,計算一列中所有數值的平均值,...。

互聯網資訊 2024-09-10 10:50:27

利用正則表達式任意字符:編寫靈活且精細的匹配模式 (利用正則表達式驗證用戶名是否合法)

利用正則表達式任意字符:編寫靈活且精細的匹配模式 (利用正則表達式驗證用戶名是否合法)

正則表達式中的任意字符正則表達式中的任意字符匹配任何單個字符,可以使用點號,.,來表示,例如,以下正則表達式匹配以字母a開頭的任何單詞,^a.$其中,匹配字符串的開頭,a匹配字母a,匹配任何單個字符,匹配前面的元素零次或多次,匹配字符串的結尾,驗證用戶名是否合法我們可以使用正則表達式任意字符來驗證用戶名是否合法,以下是一些示例,^[a...。

互聯網資訊 2024-09-09 07:35:20

Java 源代碼分析:揭開編程架構的奧秘 (java源代碼怎么運行)

Java 源代碼分析:揭開編程架構的奧秘 (java源代碼怎么運行)

前言作為一名Java開發人員,了解Java源代碼的運行機制至關重要,它不僅有助于我們寫出更強大的代碼,還能讓我們深入理解Java虛擬機的內部工作原理,本文將帶你深入Java源代碼分析的世界,揭開編程架構的奧秘,Java源代碼的結構Java源代碼是一個以`.java`為后綴的文本文件,它包含一組類和接口的定義,每個類或接口包含以下部分,...。

技術教程 2024-09-05 22:13:49

揭開河南安陽靈異事件背后的神秘面紗 (直擊河南安陽)

揭開河南安陽靈異事件背后的神秘面紗 (直擊河南安陽)

前言河南省安陽市,一座有著悠久歷史的古城,近年來卻頻發靈異事件,引發社會廣泛關注,這些事件撲朔迷離,真假難辨,給這座城市蒙上了一層神秘的面紗,本文將深入探尋河南安陽靈異事件的真相,揭開其背后的神秘面紗,詭異事件金雞嶺小學靈異事件2004年,安陽市金雞嶺小學發生了一起詭異事件,當時,一名女教師在學校值班時,突然聽到走廊傳來奇怪的腳步聲,...。

互聯網資訊 2024-09-05 01:01:33

Copyright ? 2025 聚集網 All Rights Reserved
此內容系本站根據來路自動抓取的結果,不代表本站贊成被顯示網站的內容或立場。
本頁閱讀量次 | 本站總訪問次 | 本站總訪客人 | 今日總訪問次 | 今日總訪客人 | 昨日總訪問次 | 昨日總訪客人 |
技術支持:聚集網

国产精品成人免费视频_91丝袜美腿美女视频网站_国产一区二区三区在线看_亚洲欧美另类中文字幕_在线电影av不卡网址_国产视频丨精品|在线观看_日韩一区二区三区国产_国产欧美va欧美va香蕉在线_热re91久久精品国99热蜜臀_亚洲第一精品电影_久久九九亚洲综合_国产成人综合精品_97视频在线观看网址_精品视频久久久久久_日韩av片免费在线观看_久久精品国产99国产精品澳门
一区二区三区在线观看视频| 91精品短视频| 免费黄网站在线播放| 在线女人免费视频| 美腿丝袜在线亚洲一区| 五月开心婷婷久久| 91精品国产麻豆国产自产在线| 国产精品一区在线观看| 国产尤物久久久| 国产精品视频午夜| 国产丶欧美丶日本不卡视频| 欧美激情视频在线| 国产伦精品一区二区三区免费| 伊人免费在线| 国产欧美久久一区二区| 91丨九色porny丨蝌蚪| 伊人春色在线观看| 成人信息集中地欧美| 青草视频在线免费直播| 99精品美女视频在线观看热舞| 中文国产一区| 久久奇米777| 青青热久免费精品视频在线18| 一区二区视频欧美| 国产精品午夜久久| 视频一区免费在线观看| 欧美国产日本视频| 亚洲国产另类精品专区| 国产私拍一区| 亚洲日本成人女熟在线观看| 蜜桃麻豆www久久国产精品| 日韩片欧美片| 日韩一级大片在线观看| 欧美人与性禽动交精品| 欧美激情一区二区三级高清视频| av一区二区三区四区| 毛片无码国产| 欧美精品一区二区三区视频| 亚洲午夜电影在线观看| 国产精品人成电影在线观看| 97精品国产97久久久久久免费| 欧美激情中文字幕乱码免费| 高跟丝袜一区二区三区| 午夜精品在线| jizz亚洲女人高潮大叫| 97人人模人人爽人人喊38tv| 日韩美女主播在线视频一区二区三区| 三上悠亚激情av一区二区三区| 久久精品一偷一偷国产| 久久精品亚洲乱码伦伦中文| 日韩精选视频| 国产超碰在线一区| 欧美日韩国产va另类| 成年人视频在线免费观看| 久久99国产精一区二区三区| 国产成人啪午夜精品网站男同| 国产精品大全| 国产区在线观看| 国产精品欧美久久久久一区二区| 石原莉奈在线亚洲三区| 久久久久久久| 欧美性资源免费| 欧美韩日一区二区三区| 中文字幕色婷婷在线视频| 18aaaa精品欧美大片h| 中文成人激情娱乐网| 国产午夜一区二区三区| 午夜欧美一区二区三区免费观看| 欧美日韩1234| 国产亚洲va综合人人澡精品| 3d动漫啪啪精品一区二区免费| 成人精品一区二区三区免费| 成人欧美一区二区三区白人| 日韩av一区二区三区在线| 欧美日韩ab| 国产老女人精品毛片久久| 色婷婷av一区二区三区软件| 麻豆av一区| 一本色道久久综合亚洲91| 亚洲女同另类| 77成人影视| 欧美激情自拍| 亚洲精品成人少妇| 朝桐光一区二区| 成人福利视频在线看| 8x8x8国产精品| 国产一区二区导航在线播放| 久久精品国产99国产| 国产一区喷水| 秋霞国产午夜精品免费视频| 日韩精品中文字幕一区二区| 国产午夜亚洲精品羞羞网站| 福利影院在线看| 一本大道久久精品懂色aⅴ| 国产成人看片| 国产精品亚洲第一| 亚洲福利一二三区| 欧美日韩国产丝袜美女| av一本久道久久波多野结衣| 久久久成人的性感天堂| 亚洲精品国产一区二区三区四区在线| 国产精品手机播放| 国产欧美欧美| 欧美精品中文字幕一区二区| 欧美性色黄大片| 亚洲人被黑人高潮完整版| 国产精品爽爽ⅴa在线观看| 欧美一级在线亚洲天堂| 久久日本片精品aaaaa国产| 风间由美久久久| 国产精品最新在线观看| 俄罗斯精品一区二区| 国产精品久久91| 免费高清视频精品| 美女在线一区二区| 欧美成人精品不卡视频在线观看| 亚洲激情免费观看| 国产成人精品在线看| 亚洲精品456| 久久久久久九九九九| 国产精品亚洲片在线播放| 欧美日韩一区二区三区高清| 国产91高潮流白浆在线麻豆| 日本一区二区视频在线观看| 欧美三级在线视频| 黄色亚洲网站| 亚洲人成在线观看一区二区| 婷婷久久综合| 成人av免费在线看| 亚洲成在人线免费| 中文字幕国产精品| 久久精品亚洲精品国产欧美| 日本美女久久| 欧美视频在线视频精品| 亚洲国产视频在线| 国产精品三级在线| 91免费视频网站| 91精品婷婷国产综合久久蝌蚪| 怡红院红怡院欧美aⅴ怡春院| 久久精品电影一区二区| 成人免费观看男女羞羞视频| 91精品国产高清久久久久久久久| 午夜激情综合网| 色哟哟日韩精品| www.久久草| 欧美色大人视频| 国产精品综合二区| 精品产国自在拍| 久久夜精品va视频免费观看| 成人嫩草影院| 日韩精品一区二区视频| 美日韩一区二区| 久久久久久久久久久久久久久99| 三级亚洲高清视频| 天堂精品在线视频| 国产精品av在线| 男人av在线播放| 国产精品视频xxx| 久草在线资源站资源站| 午夜婷婷国产麻豆精品| 99精品国产99久久久久久福利| 美女一区二区视频| 久久青青视频| 一区二区国产盗摄色噜噜|