第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

layoutId被Common類(lèi)封裝了,怎么在外部更改??

@Override
public?View?getView(int?position,?View?view,?ViewGroup?viewGroup){
????????//?布局文件放在這里,外部怎么更改?
???ViewHolder?holder?=?ViewHolder.get(mContext,?view,?viewGroup,?R.layout.item_listview,?position);
???convert(holder,?getItem(position));
???return?holder.getConvertView();
}


正在回答

1 回答

把布局ID定義為Adapter全局,然后重構(gòu)造方法里傳進(jìn)來(lái)。比如:

public abstract class WrapAdapter<T> extends BaseAdapter {
? ?protected LayoutInflater ? ?mInflater;
? ?protected Context ? ? ? ? ? mContext;
? ?protected List<T> ? ? ? ? ? mDatas;
? ?protected final int ?mItemLayoutId;//外面使用Adapter時(shí)傳入的布局ID,在getView中使用此ID

? ?public WrapAdapter(Context context, List<T> mDatas, int itemLayoutId) {
? ? ? ?this.mContext = context;
? ? ? ?this.mInflater = LayoutInflater.from(mContext);
? ? ? ?this.mDatas = mDatas;
? ? ? ?this.mItemLayoutId = itemLayoutId;
? ?}


在getVIew 中使用

public?View?getView(int?position,?View?view,?ViewGroup?viewGroup){

???ViewHolder?holder?=?ViewHolder.get(mContext,?view,?viewGroup,?mItemLayoutId,?position);//此處的mItemLayouId就是從外面?zhèn)魅脒M(jìn)來(lái)的。

???convert(holder,?getItem(position));

???return?holder.getConvertView();

}


0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消
Android-打造萬(wàn)能適配器
  • 參與學(xué)習(xí)       34696    人
  • 解答問(wèn)題       113    個(gè)

本課程通過(guò)對(duì)傳統(tǒng)的ListView數(shù)據(jù)綁定寫(xiě)法,打造萬(wàn)能適配器

進(jìn)入課程

layoutId被Common類(lèi)封裝了,怎么在外部更改??

我要回答 關(guān)注問(wèn)題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)