android编程看不懂getView函数请帮忙每行标注下,解释下这个函数的作用意义

@OverridepublicViewgetView(intposition,ViewconverView,ViewGroupParent){Fruitfruit=get... @Override
public View getView( int position, View converView, ViewGroup Parent) {
Fruit fruit = getItem(postion);
View view = LayoutInflater.from(getContext()).inflate(resourcedId, null);
ImageView fruitImage = (ImageView) view.findViewById(R.id.fruit_image);
TextView fruitName = (TextView) view.findViewById(R.id.fruit_name);
fruitImage.setImageResource(fruit.getImageId());
fruitName.setText(fruit.getName());
return view;
}
展开
 我来答
o几星霜o
推荐于2016-11-18 · TA获得超过307个赞
知道小有建树答主
回答量:178
采纳率:0%
帮助的人:166万
展开全部
@Override
public View getView( int position, View converView, ViewGroup Parent) {
    Fruit fruit = getItem(postion);//从数据里获取当前位置的实体
    View view = LayoutInflater.from(getContext()).inflate(resourcedId, null);//获取将当前位置的布局
    ImageView fruitImage = (ImageView) view.findViewById(R.id.fruit_image);//获取ImageView
    TextView fruitName = (TextView) view.findViewById(R.id.fruit_name);//获取TextView
    fruitImage.setImageResource(fruit.getImageId());//给ImageView添加图片
    fruitName.setText(fruit.getName());//给TextView添加文字
    return view;//将整个布局返回
}
更多追问追答
追问
Fruit fruit = getItem(postion);//从数据里获取当前位置的实体,获取的这个对象有啥用啊,又没见使用
getContext()是啥作用,
return view;//将整个布局返回,返回给谁使用啊
追答
1、Fruit fruit = getItem(postion);//从数据里获取当前位置的实体,获取的这个对象有啥用啊,又没见使用
--------你在定义adapter的时候,传进来了一个list类型的数据,就是这个了。adapter调用getItem()方法,从list里取出一个Fruit类型的数据,那么在下面,你就可以使用这个实体,根据这个实体取出它对应的数据:fruit.getImageId(),fruit.getName()。

2、getContext()是啥作用
--------有一个变量名叫context(上下文),在android里,这个变量是很重要的。很多地方都需要使用它。这里getContext()就是用来获取这个context变量的。

3、return view;//将整个布局返回,返回给谁使用啊
--------return会把结果返回给调用这个getView()方法的地方。这个方法是在adapter里的,系统有默认的调用处,ListView等setAdapter()了,那么这个view最终会到ListView等控件里去了。
小橘猫凯撒
2015-10-29
知道答主
回答量:9
采纳率:0%
帮助的人:3.1万
展开全部
从布局文件创建一个组件view,并为这个组件设置内容,最后返回给适配器,让适配器把这个view显示在界面上,这个很显然是个初级代码,效率很低,建议你学习一下ViewHolder
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友97a4460
2015-10-29
知道答主
回答量:2
采纳率:0%
帮助的人:2535
展开全部
Fruit fruit = getItem(postion);// 获取集合中每的一个对象,这个应该是在你getItem(int position)里面写的,其实就是它帮你循环找到了当前点击的那一条对应list<Fruit>里面对应的那一条

View view = LayoutInflater.from(getContext()).inflate(resourcedId, null);// 查找你列表里面每一条的布局文件

ImageView fruitImage = (ImageView) view.findViewById(R.id.fruit_image);// 找到图片这个控件

TextView fruitName = (TextView) view.findViewById(R.id.fruit_name);// 找到文字显示的这个控件

fruitImage.setImageResource(fruit.getImageId());// 你对像里面对应的那个图片ID-此处对象是你在上面已经获取到的那个fruit

fruitName.setText(fruit.getName());// // 你对像里面对应的那个名字-此处对象是你在上面已经获取到的那个fruit
return view;// 返回显示到列表里面去

(这个方法是你要显示列表里面每条必不可少的一个方法,你若不做以上控制是不会有任何样式或数据显示在你列表的每一个item上的)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式