首先,我是android和Java的新手,所以这是一个初学者的问题。
我有一些代码覆盖了ArrayAdapter的getView方法。这是代码
public View getView(int position, View convertView, ViewGroup parent) {
TextView label = (TextView)convertView;
if (convertView == null) {
convertView = new TextView(ctxt);
label = (TextView)convertView;
}
label.setText(items[position]);
return (convertView);
}
我的问题是:为什么label.setText(items[position]);
会影响convertView
返回值?它们如何相关/相关?
答案 0 :(得分:1)
TextView label = (TextView)convertView;
未将标签设置为convertView
,
是convertView
。它是对同一个对象的引用。所以当你这样做时
label.setText(items[position]);
,它在convertView上完成。
答案 1 :(得分:1)
查看代码convertView
和label
是两个引用相同TextView
对象的变量。无论您对这两个变量做什么,都会反映在它们引用的TextView
对象中。
答案 2 :(得分:0)
TextView label = (TextView)convertView;
两者都引用相同的对象(label的引用= convertView的引用),因此,convertView将被标签对象反射。