Uma alteração no TextView se aplica a vários TextViews usando ListView e ArrayAdapter

Comecei a trabalhar em um projeto pequeno há pouco tempo, o principal objetivo é criar uma maneira de acompanhar minhas ações durante as 100 semanas.

Ainda sou um desenvolvedor iniciante para Android e encontrei um problema que não consegui explicar.

Basicamente, eu preenchi um ListView usando o ArrayAdapter com uma lista contendo 100 strings (Semana1, Semana2, Semana3 ... Semana100)

A configuração de um onclicklistener em cada um dos TextViews para que, quando um usuário clicar em uma visualização de texto, a cor do plano de fundo mude para vermelho.

Contudo; sempre que clico em uma única visualização de texto - mais de uma única visualização de texto está sendo colorida.

Notas:

Estou usando um ScrollView para rolar por toda a lista. (Depois de preenchida, a lista de 100 semanas preenche a tela inteira, a visualização de rolagem é usada para acessar a lista inteira.)

Também salvei uma referência à visualização de texto atualmente pintada para garantir que, quando um usuário clicar em uma visualização de texto diferente, a anterior perderia o fundo vermelho.

Inicialização de MainActivity:

public class MainActivity extends ActionBarActivity 
{
TextView selectedWeek; // Reference to the selected week.
@Override
protected void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    populateWeekList(); // Populating the ListView
    initWeekClick(); // Initializing click listener
}

Preenchendo o ListView:

public void populateWeekList()
{
    String[] weeks = new String [100]; // 100 weeks
    for (int i=0; i<100;i++)
    {
        weeks[i] = "Week"+(i+1);
    }
    ArrayAdapter<String> weekAdapter = new ArrayAdapter<String>(
            this,
            R.layout.weeksview,
            weeks
    );

    // R.id.weekTypeList is just a normal TextView.
    ListView weekList=(ListView) findViewById(R.id.weekTypeList); 
    weekList.setAdapter(weekAdapter);
}

Código para inicializar onClickListener e salvar a referência selectedWeek:

public void initWeekClick()
{
    ListView weekList=(ListView) findViewById(R.id.weekTypeList);
    weekList.setOnItemClickListener(new AdapterView.OnItemClickListener() 
    {
        @Override
        public void onItemClick(AdapterView<?> parent, View viewClicked, int position, long id) 
        {
            if (selectedWeek != null) 
            {
                selectedWeek.setBackgroundColor(0);
            }
            TextView clicked = (TextView) viewClicked;

            // Change clicked TextView color to red.
            clicked.setBackgroundColor(getResources().getColor(android.R.color.holo_red_light));

            // Save the selected week reference
            selectedWeek = clicked;
        }
    });
}

questionAnswers(1)

yourAnswerToTheQuestion