@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null){
convertView = ContactViewActivity.this.getLayoutInflater().inflate(R.layout.contact_view_field_row,
parent, false);
}
String value = (String)getItem(position);
TextView fieldValue = (TextView)convertView.findViewById(R.id.contact_view_row_value);
fieldValue.setText(value);
return convertView;
}
上面的代码取自 BaseAdapter 类。那么将膨胀视图设置为 convertView 有什么意义呢?getView 的全部意义在于如果没有视图,则创建一个视图,给它属性,然后返回它,以便它可以在 ListView 的应用程序中显示,对吗?那么为什么不直接说 findViewById(R.id.contact_view_row_value); 呢?我的意思是我们到底在用 layoutInflater 做什么?我认为既然我们将它设置为等于 convertView,就不需要键入 convertView.findViewById。我的意思是它已经等于一个膨胀的 XML 文件,对吧?我在这里很困惑,我真的很感激一些澄清。