91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ListView的優化

發布時間:2020-07-03 14:38:33 來源:網絡 閱讀:386 作者:小誠誠cc 欄目:開發技術

1、  復用行布局(用已經完全消失的布局對象去替代即將出現的那個布局對象)

在自定義MyAdapter(繼承BaseAdapter)適配器時,需重寫getVIew(int position, View convertView, ViewGroup parent)方法,其中的converView方法會保存那個已經完全消失的布局對象因此我們用convertView來替代即將要創建的inflate

         (判斷convertView為空時創建布局文件,不為空時直接用convertView來替代)

實現代碼:

     View inflate = null;

      if(convertView==null){

                       //得到布局轉換器

                       LayoutInflater layoutInflater= getLayoutInflater();

                       //把布局xml文件轉換成布局對象

                       inflate = layoutInflater.inflate(R.layout.item,null);

    }else{

                       //用已經完全消失的布局對象去替代即將出現的布局對象

                       inflate = convertView;

   }

 

2、去減少控件的查找次數

2.1 單控件——將TextView位置上調

實現代碼:

         Viewinflate = null;

         TextViewtextView = null;

         if(convertView==null){

                   LayoutInflaterlayoutInflater = getLayoutInflater();

                   //把布局xml文件轉換成布局對象

                   inflate= layoutInflater.inflate(R.layout.item, null);

                   textView= (TextView) inflate.findViewById(R.id.textView1);

                   //ViewHolder對象放到inflate包里面

                   inflate.setTag(textView);

         }else{

                   //用已經完全消失的布局對象去替代即將出現的布局對象

                   inflate= convertView;

                   //把對象從inflate的口袋中

                   textView= inflate.getTag();

         }       

    2.2 多控件——使用ViewHolder:創建對象ViewHolder,將TextView封裝到新ViewHolder中(放入的是多控件)

實現代碼:

    ================================================

         classViewHolder{

                   TextViewtextView;

                   TextViewtextView2;

        

         }

         ================================================

    Viewinflate = null;

         ViewHolderholder = null;

         //convertView用來保存那個已經完全消失的布局對象

         if(convertView==null){

                   holder= new ViewHolder();

                   //得到布局轉換器

                   LayoutInflaterlayoutInflater = getLayoutInflater();

                   //把布局xml文件轉換成布局對象

                   inflate= layoutInflater.inflate(R.layout.item, null);

                   holder.textView= (TextView) inflate.findViewById(R.id.textView1);

                   holder.textView2= (TextView) inflate.findViewById(R.id.textView2);

                   //ViewHolder對象放到inflate包里面

                   inflate.setTag(holder);

         }else{

                   //用已經完全消失的布局對象去替代即將出現的布局對象

                   inflate= convertView;

                   //把對象從inflate的口袋中

                   holder= (ViewHolder) inflate.getTag();

         }

 

3、代碼優化

       

       1、創建一個類,類的屬性就是我們所需的數據類型

       2、創建一個容器

       3、把所需的數據都放到容器中

       4、根據position從容器中取出該行所對應的那個對象

       5、設置控件內容


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鲁山县| 剑阁县| 永昌县| 潼南县| 资溪县| 合水县| 从江县| 舞阳县| 金秀| 雷山县| 司法| 罗定市| 黔江区| 买车| 木兰县| 青岛市| 陇西县| 正宁县| 大英县| 会昌县| 临夏县| 依兰县| 纳雍县| 宿松县| 迁西县| 卢湾区| 武夷山市| 鸡东县| 宜城市| 榆中县| 乌拉特前旗| 长沙县| 信阳市| 晴隆县| 汕头市| 增城市| 招远市| 沙河市| 临潭县| 湖南省| 木兰县|