Thread chamando método

Fala galera… eu sou novo em java, e mais ainda em android…

Maas, aos trancos e barrancos desenvolvi um código para um jogo de cartas, que ficou show…

O problema é que escrevi ele todo em uma classe, que seria a activity do jogo em si, e depois eu modificaria para fazer o início do jogo, com opções e tal…

O problema apareceu quando comecei a fazer a parte do design…
Claro, o sistema joga as cartas e tal, só que ele faz isso direto, sem que o jogador possa ver que carta ele jogou, quem ganhou e tal… ai percebi que ia precisar de Threads…

Maaas, não sei o que fazer… tipo, eu criei um método pra atualizar as ImageViews que tem as cartas, mas eu tento criar uma Thread secundária no código que chame esse método e de um sleep, mas isso é impossível, pois o Thread não pode chamar métodos né?

Alguem pode me dar uma luz nisso?

muito grato xD

Olá
Você pode chamar métodos sim, só não pode alterar a tela (views) diretamente.
Para alterar a tela use um Handler ou o runOnUiThread.
No meu blog tem uns exemplos, dá uma olhada.

Obrigado pela resposta… seu blog já me ajudou em muito… mas será q podia me dar o código mastigado? huauhasuhsa

assim ó, eu tenho um método que atualiza toda a parte visual, e depois eu queria fazer um sleep de 2000, por ai, tipo assim:

atualiza();
try{
sleep(2000);}
catch{(Exception E)}

Tem como fazer exibir o que esta dentro do atualiza ates do sleep? Pela thread main?

Grato…

tentei isso e não funcionou =p

[code]h.post(new Runnable() {
public void run() {
atualizajc();
}
});

        		try{
        		Thread.sleep(2000);
        		}catch(Exception e) {}[/code]

h é um handler… e isso ta executando dentro de um if…

tentei isso e não funcionou =p

[code]h.post(new Runnable() {
public void run() {
atualizajc();
}
});

        		try{
        		Thread.sleep(2000);
        		}catch(Exception e) {}[/code]

h é um handler… e isso ta executando dentro de um if…

tentei isso e não funcionou =p

[code]h.post(new Runnable() {
public void run() {
atualizajc();
}
});

        		try{
        		Thread.sleep(2000);
        		}catch(Exception e) {}[/code]

h é um handler… e isso ta executando dentro de um if…

Não entendi exatamente o que pretende, mas dá uma olhada num tutorial sobre game do Marky.Vasconcelos no pontoV, deve te ajudar.