I've written this code from a tutorial. 

```
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
    // TODO Auto-generated method stub
    LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View row = inflater.inflate(R.layout.single_row, viewGroup,false);

    TextView title = (TextView) row.findViewById(R.id.txtTitle);
    TextView description = (TextView) row.findViewById(R.id.txtDescription);
    ImageView image = (ImageView) row.findViewById(R.id.imgPic);

    SingleRow temp = list.get(i);

    title.setText(temp.title);
    description.setText(temp.description);
    image.setImageResource(temp.image);

    return row;
}

```

In this line of code:

```
TextView title = (TextView) row.findViewById(R.id.txtTitle);

```

I think a TextView is copied to a variable of the same kind. and then in this line of code:

```
title.setText(temp.title);

```

we fill that variable with something. then the row variable which is a View and it's not related to 'title' variable is returned.  

How it works? I thinks these variables have nothing to do here.