@Override public View getView(int position, View convertView, ViewGroup parent) { View row = convertView; SessionHolder holder; Session session = hijackList.get(position); if (row == null) { LayoutInflater inflater = (LayoutInflater) HijackHistory.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); row = inflater.inflate(R.layout.hijack_list_item, parent, false); holder = new SessionHolder(); holder.favicon = (ImageView) (row != null ? row.findViewById(R.id.server_icon) : null); holder.pathText = (TextView) (row != null ? row.findViewById(R.id.server_path) : null); holder.domainText = (TextView) (row != null ? row.findViewById(R.id.server_domain) : null); holder.dateText = (TextView) (row != null ? row.findViewById(R.id.hijack_date) : null); if (row != null) row.setTag(holder); } else holder = (SessionHolder) row.getTag(); String tmp = session.getPath(); if (holder.pathText != null) holder.pathText.setText(tmp); tmp = session.getDomain(); if (holder.domainText != null) holder.domainText.setText(tmp); if (holder.dateText != null) { holder.dateText.setText(dateFormat.format(session.getDateTime())); holder.dateText.setVisibility(View.VISIBLE); } return row; }