亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

layoutId被Common類封裝了,怎么在外部更改??

@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全局,然后重構造方法里傳進來。比如:

public abstract class WrapAdapter<T> extends BaseAdapter {
? ?protected LayoutInflater ? ?mInflater;
? ?protected Context ? ? ? ? ? mContext;
? ?protected List<T> ? ? ? ? ? mDatas;
? ?protected final int ?mItemLayoutId;//外面使用Adapter時傳入的布局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就是從外面傳入進來的。

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

???return?holder.getConvertView();

}


0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Android-打造萬能適配器
  • 參與學習       34696    人
  • 解答問題       116    個

本課程通過對傳統的ListView數據綁定寫法,打造萬能適配器

進入課程

layoutId被Common類封裝了,怎么在外部更改??

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號