有人可以告诉我什么convertView
参数用于Adapter
类的getView()
方法吗?什么是ArrayAdapter中的“convertView”参数getView()方法
下面是here一个示例代码看法:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.row, null);
}
Order o = items.get(position);
if (o != null) {
TextView tt = (TextView) v.findViewById(R.id.toptext);
TextView bt = (TextView) v.findViewById(R.id.bottomtext);
if (tt != null) {
tt.setText("Name: "+o.getOrderName()); }
if(bt != null){
bt.setText("Status: "+ o.getOrderStatus());
}
}
return v;
}
,我们应该通过convertView
传递什么?
什么我发现,take from here:
把那在 数据集的指定位置显示的数据视图。您可以手动创建视图,也可以从 XML布局文件中对其进行充气。当视图膨胀时,父视图(GridView,GridView, ListView ...)将应用默认布局参数,除非您使用膨胀(int,android.view.ViewGroup,布尔值)来指定根视图 并防止附件根。
参数
位置 - 项目的适配器的数据集,我们希望其观点的项目中的位置。
convertView - 旧的视图重用,如果可能的话。注意:您应该在 正在使用之前检查该视图是否为非空和适当的类型。如果无法将此视图转换为显示 正确的数据,则此方法可以创建新视图。
父 - 在指定位置相对应的数据的视图 - 这个视图最终将被附连到返回
返回父。
我不太明白这一点“当用户滚动一个新的视图应该被创建,所以为了提高性能,ListView向适配器发送一个旧视图,它不再在convertView参数中使用它。”你说`ListView`不会一次填充所有视图? – Tarik 2010-12-07 22:20:41