以下代码为适用于ListView的Adapter的部分代码,请根据代码解释...

发布于 2022-03-03 16:37:26

以下代码为适用于ListView的Adapter的部分代码,请根据代码解释下

1)getView方法中对convertView是否为空做了不同处理,目的是什么?

2)viewholder有什么作用?

 

private List<String> mData = new ArrayList<>()

 

private static class ViewHolder {

   TextView text

  

   public ViewHolder(View rootView) {

       text = (TextView)rootView.findViewById(R.id.text)

   }

  

   public void bind(String item) {

       ...

   }

}

 

@Override

public View getView(int position, View convertView, ViewGroup parent) {

   String item = mData.get(position)

   ViewHolder viewHolder

   if (null == convertView) {

       convertView = LayoutInflater.from(mContext).inflate(R.layout.list_item, parent, false)

       viewHolder = new ViewHolder(convertView)

       convertView.setTag(viewHolder)

   } else {

       viewHolder = (ViewHolder) convertView.getTag()

   }

   viewHolder.bind(item)

   return convertView

}

关注者
0
被浏览
18
知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看