Como funciona o mecanismo de reciclagem do ListView

Então eu tenho esse problema que tive antes, e naturalmente eu pedi ajudaAqui. A resposta da Luksprog foi ótima porque eu não tinha ideia de como o ListView e o GridView se otimizavam com a reciclagem de Views. Assim, com o seu conselho, consegui alterar a forma como adicionei o Views ao meu GridView. Problema é agora eu tenho algo que não faz sentido. Este é meugetView do meuBaseAdapter:

public View getView(int position, View convertView, ViewGroup parent) {
        if(convertView == null) {
            LayoutInflater inflater = LayoutInflater.from(parent.getContext());
            convertView = inflater.inflate(R.layout.day_view_item, parent, false);
        }
        Log.d("DayViewActivity", "Position is: "+position);
        ((TextView)convertView.findViewById(R.id.day_hour_side)).setText(array[position]);
        LinearLayout layout = (LinearLayout)convertView.findViewById(R.id.day_event_layout);

        //layout.addView(new EventFrame(parent.getContext()));

        TextView create = new TextView(DayViewActivity.this);
        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(0, (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 62, getResources().getDisplayMetrics()), 1.0f);
        params.topMargin = (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 1, getResources().getDisplayMetrics());
        params.bottomMargin = (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 1, getResources().getDisplayMetrics());
        create.setLayoutParams(params);
        create.setBackgroundColor(Color.BLUE);
        create.setText("Test"); 
        //the following is my original LinearLayout.LayoutParams for correctly setting the TextView Height
        //new LinearLayout.LayoutParams(0, (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 60, getResources().getDisplayMetrics()), 1.0f)   
        if(position == 0) {
            Log.d("DayViewActivity", "This should only be running when position is 0. The position is: "+position);
            layout.addView(create);
        }

        return convertView;
    }

}

Problema é quando eu rolar, isso acontece, e não na posição 0 ... Parece que a posição 6 e posição 8, mais coloca dois na posição 8. Agora eu ainda estou tentando pegar o jeito de usar ListView e GridView, então eu faço Não entendo porque isso está acontecendo. Uma das principais razões pelas quais estou fazendo essa pergunta é ajudar outras pessoas que provavelmente não sabem sobre a Visualização de reciclagem do ListView e do GridView, ou a maneira como isso é feito.artigo coloca, mecanismo ScrapView.

Mais tarde Editar

Adicionando link para uma conversa de IO do google é basicamente tudo que você precisa para entender como o ListView funciona. Link estava morto nos comentários. Então user3427079 foi bom o suficiente para atualizar esse link.Aqui é de fácil acesso.

questionAnswers(3)

yourAnswerToTheQuestion