Couple of questions on Custom Adapter class
<pre><code>    public static class ViewHolder{
        public TextView item1;
        public TextView item2;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View v = convertView;
        ViewHolder holder;
        if (v == null) {
            LayoutInflater vi =
                (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            v = vi.inflate(R.layout.document_item_row, null);
            holder = new ViewHolder();
            holder.item1 = (TextView) v.findViewById(R.id.big);
            holder.item2 = (TextView) v.findViewById(R.id.small);
            v.setTag(holder);
        }
        else
            holder=(ViewHolder)v.getTag();

        final DocumentResponse custom = entries.get(position);
        if (custom != null) {
            holder.item1.setText(custom.getCreateByFullName());
            holder.item2.setText(custom.getTitle());
        }
        return v;
    }
</code></pre>

<ol>
<li><p>Can anyone explain me on the parameters of the overridded method. [<code>getView(int position, View convertView, ViewGroup parent)</code>]. I need to know what does each argument do?. </p></li>
<li><p>I have a static class ViewHolder holding my view components, then why do i create a nerw instance <code>holder</code>.</p></li>
</ol>
