在android中,我通常MyAdapter extends ArrayAdapter用来创建视图ListView,因此,我必须覆盖该函数
public View getView(int position, View convertView, ViewGroup parent) {
// somecode here
}
Run Code Online (Sandbox Code Playgroud)
但是,我不知道到底是什么convertView和parent做!有没有人有建议?更多细节,更多帮助!谢谢!
Ale*_*ood 46
从文档中,
convertView - 如果可能,重用旧视图.注意:在使用之前,应检查此视图是否为非null且类型是否合适.如果无法转换此视图以显示正确的数据,则此方法可以创建新视图.
换句话说,此参数严格用于提高您的性能Adapter.当a ListView使用an Adapter用Views 填充其行时,适配器View通过调用getView()每一行来填充每个列表项与对象.适配器使用它convertView作为回收View不再使用的旧对象的方法.通过这种方式,ListView每次适配器想要显示新的列表项时,可以发送不再显示的旧的"循环"视图对象,而不是实例化全新对象.这是convertView参数的目的.
convertView是不可见的ListView项缓存,因此可以重复使用.它让ListView不需要创建很多ListItem,因此可以节省记忆并使ListView更加流畅.
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view;
if(convertView == null) {
view = this.inflator.inflate(android.R.layout.simple_list_item_1, parent, false);
}
else {
view = convertView;
}
// remaining implementation
return view;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23730 次 |
| 最近记录: |