@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文件了嗎?我很困惑,我真的很感激一些澄清。Android Studio;膨脹並將視圖保存到convertView中有什麼意義?
哦,好的,謝謝,它現在非常有意義! –
其實還有一件事,有什麼說'convertview.findViewById();'而不是隻是說'findViewById();'? –
@StephenKandeh你縮小搜索範圍;而不是讓父'View'搜索它的所有內容,包括'convertView',它包含你正在尋找的'View',你可以立即縮小到'convertView',如果你知道它在那裏! –