View listItemView = convertView;
if(listItemView == null) {
listItemView = LayoutInflater.from(getContext()).inflate(
R.layout.list_item, parent, false);
我無法理解上述代碼。此代碼是製作自定義ArrayAdapter的一部分。以下是特定項目的自定義ArrayAdapter代碼。我無法理解以下代碼
public class AndroidFlavorAdapter extends ArrayAdapter<AndroidFlavor> {
private static final String LOG_TAG = AndroidFlavorAdapter.class.getSimpleName();
public AndroidFlavorAdapter(Activity context, ArrayList<AndroidFlavor> androidFlavors) {
super(context, 0, androidFlavors);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View listItemView = convertView;
if(listItemView == null) {
listItemView = LayoutInflater.from(getContext()).inflate(
R.layout.list_item, parent, false);
}
AndroidFlavor currentAndroidFlavor = getItem(position);
TextView nameTextView = (TextView) listItemView.findViewById(R.id.version_name);
nameTextView.setText(currentAndroidFlavor.getVersionName());
TextView numberTextView = (TextView) listItemView.findViewById(R.id.version_number);
numberTextView.setText(currentAndroidFlavor.getVersionNumber());
ImageView iconView = (ImageView) listItemView.findViewById(R.id.list_item_icon);
iconView.setImageResource(currentAndroidFlavor.getImageResourceId());
return listItemView;
}
}
爲什麼listItemView被分配convertView.Why是檢查是否爲空或不是和LayoutInflator的使用。
你的意思是說,我們正在添加我們的自定義佈局與列表視圖,哪些是相等的或getView方法綁定? –