Atualizando um gráfico de um ArrayList ao longo do tempo?

Eu tenho um ArrayList de valores e gostaria de percorrer o ArrayList. Para cada novo valor, eu gostaria de atualizar o gráfico com esse valor e aguardar um período definido antes de fazer a mesma coisa com o próximo valor.

No momento, meu log diz que todos os valores estão sendo repetidos. No entanto, no meu dispositivo de teste, o gráfico não é atualizado até o final; nesse ponto, todos os valores são carregados de uma só vez, para que não haja o efeito "apresentação de slides" desejado.

Quando eu quero começar a reproduzir os valores em meu ArrayList, esse método é chamado:

public void playback(){
    if(ret != null) {
        for (int x = 0; x < ret.size(); x++) {
            addEntry(ret.get(x));
            try {
                Thread.sleep(100);
            } catch (Exception e){
                //Do nothing
            }
        }
    } else {
        Log.d(LOG_TAG, "ret was null.");
    }
}

O que posso fazer para que os valores sejam exibidos no meu gráfico, um após o outro, com uma certa quantidade de tempo entre cada valor?

Editar: Aqui estava a solução que acabei implementando com a ajuda de Shadab Ansari:

public void playback(){
    if(ret != null) {
        addEntry(0);
    } else {
        Log.d(LOG_TAG, "ret was null.");
    }
}



private void addEntry(int index) {
    final int in = index;

    new Handler().postDelayed(new Runnable() {
        @Override
        public void run() {
            yVals1.get(0).setVal(ret.get(in).intValue());
            RadarDataSet set1 = new RadarDataSet(yVals1, "Set 1");
            // And other UI stuff

            // Recursive call!
            if(in < ret.size() - 1){
                addEntry(in + 1);
            }
        }
    }, 100);

}

Caso não estivesse claro, ret era uma variável global que continha as matrizes que eu ia inserir. yVals1 era um ArrayList de entradas para preencher o gráfico de radar.

O resultado final é que, neste código de exemplo, o gráfico é atualizado com o próximo valor em meu ArrayList a cada 100 milissegundos. Durante esse período, ainda posso ampliar / reduzir o gráfico e girá-lo sem problemas.

questionAnswers(1)

yourAnswerToTheQuestion