摘要:利用完成復(fù)用把中獲得的控件在中復(fù)用省去重復(fù)創(chuàng)建控件一種常見的情況,舉例有五個固定的控件要利用顯示這種情況下,先創(chuàng)建好個控件,并綁定將放入根據(jù)計算出要取中的哪個
一。利用PagerAdapter.instantiateItem,destroyItem 完成復(fù)用
1) 把destroyItem中獲得的View控件,在instantiateItem中復(fù)用
省去重復(fù)創(chuàng)建View控件
private LinkedListmViewCache = null; @Override public Object instantiateItem(ViewGroup container, int position) { Log.e("test","instantiateItem " + position); ViewHolder viewHolder = null; View convertView = null; if(mViewCache.size() == 0){ convertView = this.mLayoutInflater.inflate(R.layout.viewadapter_item_layout , null ,false); TextView textView = (TextView)convertView.findViewById(R.id.view_pager_item_textview); viewHolder = new ViewHolder(); viewHolder.textView = textView; convertView.setTag(viewHolder); }else { convertView = mViewCache.removeFirst(); viewHolder = (ViewHolder)convertView.getTag(); } viewHolder.textView.setText(datas.get(position).title); viewHolder.textView.setTextColor(Color.YELLOW); viewHolder.textView.setBackgroundColor(Color.GRAY); container.addView(convertView ,ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT ); return convertView; } @Override public void destroyItem(ViewGroup container, int position, Object object) { Log.e("test","destroyItem " + position); View contentView = (View) object; container.removeView(contentView); this.mViewCache.add(contentView); }
2)一種常見的情況,舉例:有五個固定的控件要利用ViewPager顯示
這種情況下,先創(chuàng)建好5個控件,并綁定ViewHolder,將ViewHolder放入List,
@Override public Object instantiateItem(ViewGroup container, int position) { //根據(jù)position計算出要取List中的哪個ViewHolder viewhodler = list.get(index); return viewhodler.itemView; }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/70768.html
摘要:前言最近發(fā)布了版本,新增功能,該功能在上并不友好,現(xiàn)在官方將此功能延續(xù)下來,這回是騾子是馬呢趕緊拉出來溜溜閱讀指南內(nèi)容基于版本講解,由于正式版還未發(fā)布,如有功能變動有勞看官指出內(nèi)容重點(diǎn)介紹的特性和預(yù)加載機(jī)制,另外包括的狀態(tài)和的生命周前言 最近ViewPager2發(fā)布了1.0.0-alpha04版本,新增offscreenPageLimit功能,該功能在ViewPager上并不友好,現(xiàn)在官方將...
閱讀 2415·2021-09-08 09:45
閱讀 3363·2021-09-08 09:45
閱讀 3106·2019-08-30 15:54
閱讀 3361·2019-08-26 13:54
閱讀 1417·2019-08-26 13:26
閱讀 1394·2019-08-26 13:23
閱讀 917·2019-08-23 17:57
閱讀 2187·2019-08-23 17:14