ListActivity(with Inflate)

In Previous post, I explained how to use ListActivity.(ListActivity

Next, to use LayoutInflator, we can simplify Adapter codes.
Pick up only ArrayAdapter parts.

Sample1(Use Inflator)

class IconicAdapter extends ArrayAdapter<String>
{
    IconicAdapter()
    {
        super(InflatorDynamicList.this, R.layout.row, R.id.label, items);       // R.id.label : row's TextView
    }
     
    public View getView(int position, View convertView, ViewGroup parent )
    {
        LayoutInflater inflater = getLayoutInflater();
        View row = inflater.inflate(R.layout.row, parent, false);
        TextView label = (TextView)row.findViewById(R.id.label);
        label.setText(items[position] + " Love");
        ImageView icon = (ImageView)row.findViewById(R.id.icon);
         
        if ( items[position].length() > 5 )
        {
            icon.setImageResource(R.drawable.spade);
        }
        else
        {
            icon.setImageResource(R.drawable.heart);
        }
        return (row);
    }
}

Sample2(optimization)

class IconicAdapter extends ArrayAdapter<String>
{
    IconicAdapter()
    {
        super(RecyclingDemo.this, R.layout.row, R.id.label, items);     // R.id.label : row's TextView
    }
     
    public View getView(int position, View convertView, ViewGroup parent )
    {
        // Tech
        View row = convertView;
        if ( row == null )
        {
            LayoutInflater inflater = getLayoutInflater();
            row = inflater.inflate(R.layout.row, parent, false);
        }
         
        ImageView icon = (ImageView)row.findViewById(R.id.icon);
        TextView label = (TextView)row.findViewById(R.id.label);
        label.setText(items[position] + " Love");
        if ( items[position].length() > 5 )
        {
            icon.setImageResource(R.drawable.spade);
        }
        else
        {
            icon.setImageResource(R.drawable.heart);
        }
        return (row);
    }
}

Reuse row view.