欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

BaseAdapter的使用及優(yōu)化-創(chuàng)新互聯(lián)

ListView在安卓開發(fā)中,是經(jīng)常需用使用的控件,而用這個控件,就離不開它的數(shù)據(jù)綁定,這時候Adapter(數(shù)據(jù)適配器)就起了很大作用

成都創(chuàng)新互聯(lián)公司專注于企業(yè)成都營銷網(wǎng)站建設(shè)、網(wǎng)站重做改版、揭西網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、HTML5建站、電子商務(wù)商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為揭西等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

  在學(xué)習(xí)了多種Adapter(適配器之后),感覺比較常用的三種就是ArrayAdapter和SimpleAdapter以及BaseAdapter.

   ArrayAdapter用法最為簡單,但功能較為單一,一般只能顯示簡單的文本信息。

  SimpleAdapter有所提升,能通過自己編寫一個布局來顯示圖像和文本,但缺點在于模板單一,只能使用固定的1個模板

  而BaseAdapter(基礎(chǔ)適配器)則最為自由,可以通過重寫方法來實現(xiàn)自己想要的各種的布局,但是難度較大,接下來將淺談一下自己對BaseAdapter的使用及優(yōu)化方法。

  1. 要使用BaseAdapter,先寫一個class類繼承BaseAdapter,并實現(xiàn)其方法,方法如下BaseAdapter的使用及優(yōu)化

  2. getCount()為獲取數(shù)據(jù)條目的數(shù)量,返回值也就是數(shù)據(jù)條目的數(shù)量(這個返回值數(shù)據(jù)條目的數(shù)量一定要寫)、getItem()為獲取對應(yīng)ID項對應(yīng)的Item(可以不用管)、getItemId()為獲取對應(yīng)項ID(也可以不用管),最后一個方法最為重要也就是getView(int position,View covertView,ViewGroup arg2),重寫的主要是這個方法

  3. 事先準(zhǔn)備如下BaseAdapter的使用及優(yōu)化其中context為上下文,List<...>集合可以根據(jù)自己需要用泛型來規(guī)定自己的數(shù)據(jù),這里只是簡單例子

  4. 接下來就開始重寫getView(...)方法,步驟主要分為:BaseAdapter的使用及優(yōu)化

  5. 第一種寫法:

       // 獲取納秒時間 更加精確

        long start = System.nanoTime();

     // 由于我們只需要將XML轉(zhuǎn)化為View,并不涉及到具體的布局,所以第二個參數(shù)通常設(shè)置為null

        LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    View view = inflater.inflate(R.layout.item, null);

        // 實例化控件(這些控件為自己在根據(jù)需要在布局中加的控件)

        ImageView itemImage = (ImageView) view.findViewById(R.id.iv_p_w_picpath);

        TextView itemTitle = (TextView) view.findViewById(R.id.tv_title);

        TextView itemContent = (TextView) view.findViewById(R.id.tv_content);

        // 取出contact對象

        Contact contact = contacts.get(position);

        // 設(shè)置控件的數(shù)據(jù)

        itemImage.setImageResource(contact.itemImageResid);

        itemTitle.setText(contact.itemTitle);

        itemContent.setText(contact.itemContent);

        //記錄時間

        long end = System.nanoTime();

        long dValue = end - start;

        mSumTime += dValue;

        // 輸出每次getView消耗的時間和

        Log.d("ATG", String.valueOf(mSumTime));

        return view;

    這種方法最基礎(chǔ),也最耗時,原因是函數(shù)沒被調(diào)用一次,所有步驟都要執(zhí)行一次,實際上有些步驟或控件是可以重用的。

  6. 第二種改良方法:

    // 獲取納秒時間 更加精確

    //     long start = System.nanoTime();

    //     當(dāng)?shù)谝淮握{(diào)用該方法是,才需要將布局模塊轉(zhuǎn)為View對象,其它時候不需要了

    //     if (convertView == null) {

    //      LayoutInflater inflater = LayoutInflater.from(context);

    //      convertView = inflater.inflate(R.layout.item, null);

    //     }

    //     ImageView itemImage = (ImageView) convertView.findViewById(R.id.iv_p_w_picpath);

    //     TextView itemTitle = (TextView) convertView.findViewById(R.id.tv_title);

    //     TextView itemContent = (TextView) convertView.findViewById(R.id.tv_content);

    //     // 取出contact對象

    //     Contact contact = contacts.get(position);

    // 設(shè)置控件的數(shù)據(jù)

    //     itemImage.setImageResource(contact.itemImageResid);

    //     itemTitle.setText(contact.itemTitle);

    //     itemContent.setText(contact.itemContent);

    //     long end = System.nanoTime();

    //     long dValue = end - start;

    //     mSumTime += dValue;

    // 輸出每次getView消耗的時間和

    //     Log.d("ATG", String.valueOf(mSumTime));

    //     return convertView;

      這種方法將無謂的重復(fù)的吧布局模塊轉(zhuǎn)為View對象的步驟簡化

  7. 第三種方法:

    // 獲取納秒時間 更加精確

    //     long start = System.nanoTime();

    //     ViewHolder holder = null;

    //     if (convertView == null) {

    //       holder = new ViewHolder();

    //       LayoutInflater inflater = LayoutInflater.from(context);

    //       convertView = inflater.inflate(R.layout.item, null);

    //       holder.img = (ImageView) convertView.findViewById(R.id.iv_p_w_picpath);

    //       holder.title = (TextView) convertView.findViewById(R.id.tv_title);

    //       holder.content = (TextView) convertView.findViewById(R.id.tv_content);

    //       convertView.setTag(holder);

    //     } else {

    //       holder = (ViewHolder) convertView.getTag();

    //     }

    // 取出contact對象

    //     Contact contact = contacts.get(position);

    // 設(shè)置控件的數(shù)據(jù)

    //     holder.img.setImageResource(contact.itemImageResid);

    //     holder.title.setText(contact.itemTitle);

    //     holder.content.setText(contact.itemContent);

    //     long end = System.nanoTime();

    //     long dValue = end - start;

    //     mSumTime += dValue;

    // 輸出每次getView消耗的時間和

    //     Log.d("ATG", String.valueOf(mSumTime));

    //     return convertView;

      }

      // ViewHolder用于緩存控件

      class ViewHolder{

        public ImageView img;

        public TextView title;

        public TextView content;

      }

    這種方法將初始化控件也設(shè)置在了只在第一次調(diào)用時使用,這用就避免了多次尋找控件初始化的操作,這種方法是這三種方法中優(yōu)化效果最好,也最推薦使用,因為當(dāng)運行程序較大時,每一步的優(yōu)化都尤為關(guān)鍵。

  8. 然后就是創(chuàng)建適配器ContactAdapter contactadapter = new ContactAdapter(this, contacts);

  9. 最后就是將ListView控件加載到適配器中l(wèi)istView.setAdapter(contactadapter);

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

分享名稱:BaseAdapter的使用及優(yōu)化-創(chuàng)新互聯(lián)
文章地址:http://aaarwkj.com/article22/ccdhjc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版網(wǎng)頁設(shè)計公司、品牌網(wǎng)站建設(shè)、網(wǎng)站設(shè)計公司動態(tài)網(wǎng)站、面包屑導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)
丝袜在线美腿视频网站| 亚洲黄色成人在线观看| 正在播放日韩黄色精品| 伊人久久亚洲精品综合| 欧美亚洲精品一区二区三区| 亚洲一区乱码精品中文| 亚洲av香蕉一区二区| 久草福利视频免费播放| 亚洲av在线观看午夜| 欧美日韩亚洲中文国产| 欧美精品一区二区亚洲| 特色特色欧美黄色影院| 国产亚洲精品一区在线| 三级日本午夜在线观看| 国产伊人久久综合网| 欧美看黄网站在线观看| 精品少妇人妻久久av免费| 日韩黄片免费观看大全| 日韩中文字幕乱码卡一| 欧美成人高清在线播放| 日韩精品视频在线观看| av天堂最新资源在线| 亚洲国产精品综合久久网络| 婷婷综合伊人久久狠狠| 日韩在线中文字幕一区| 黄色三级亚洲男人的天堂| 欧美国产日韩一区二区三区视频| 亚洲美女高潮久久久久久久久| 精品国产一区二区成人| 精品人妻一区二区在线99| 亚洲成av在线免费不卡| 午夜一区二区三区精品| 欧美亚洲国产精品久久久| 日韩少妇一级淫片免费| 天天操天天射夜夜撸| 蜜臀av人妻一区二区三区| 免费久久人人爽人人爽| 性生活免费在线观看视频| 亚洲黄色片成年人免费观看| 久久精品亚洲毛片美女极品| 欧美日本国产老熟女视频|