又是你啊!不要学自己看不懂的东西,先从基础的开始啊= =
嘛,还是帮你注释一下吧:public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null; //ViewHolder用于封装一个类,保证每个findViewById只执行一次,优化性能
final Shop shop= mData.get(position); //拿到数据
if (convertView == null) { //convertView用于复用,防止每次都新建,优化性能
holder = new ViewHolder();
convertView = mInflater.inflate(R.layout.shop_list, null); //拿到view对象
holder.shop_ll = (LinearLayout)convertView.findViewById(R.id.shop_ll);
holder.img = (ImageView)convertView.findViewById(R.id.img);
holder.name_tv = (TextView)convertView.findViewById(R.id.name_tv);
holder.score_tv = (TextView)convertView.findViewById(R.id.score_tv);
convertView.setTag(holder);//打一个标记(Tag),方便重用convertView的时候好找
}else {
holder = (ViewHolder)convertView.getTag(); //convertView不等于空,就直接根据标记(Tag)拿到holder
}
holder.img.setBackgroundResource((Integer) shop.pic); //设置背景
holder.name_tv.setText((String) shop.name); //设置文本
holder.score_tv.setText("评分:"+shop.score);
//设置点击监听
holder.shop_ll.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) {
//进入指定店铺
Intent intent = new Intent();
intent.putExtra("name", shop.name); //指定店铺名
intent.setClass(getActivity(), ShopActivity.class);
startActivity(intent);
}
});
return convertView;//返回一个view对象
}
【另外】我强烈要求你先学一下怎么改成代码格式再发代码!!一堆密密麻麻的,害我改了多久的格式!编辑框左上角有个“代码语言”选择java就可以了。