Como evitar o código duplo em execução clicando duas vezes rapidamente em um botão no Android
Se eu clicar rapidamente no meu botão no meu aplicativo Android, parece que o código por trás dele é executado duas vezes. Se eu clicar no botão de menu duas vezes, a atividade que precisa ser iniciada onclick é iniciada duas vezes e eu tenho que sair dela duas vezes.
Isso é realmente chato porque se eu clicar muito rápido para botões de menu eu posso carregar um monte de atividades em segundo plano e devo sair deles um por um, então isso é claramente um estado de bugs do meu aplicativo que eu quero corrigir isso.
O que posso fazer com este problema?
Eu uso onClickListeners simples e botões
EDITAR:
Em relação às respostas e comentários meus botões de menu são assim:
top20Button.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
favButton.setClickable(false);
nearButton.setClickable(false);
highlightedButton.setClickable(false);
top20Button.setClickable(false);
Intent i = new Intent();
i.putExtra("showDialog", false);
i.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
i.setClass(Search.this, Top20.class);
startActivity(i);
finish();
}
});
Depois de toda esta correcção, continua a mesma: S Quando clico como uma pessoa louca, múltiplas actividades estão na pilha do histórico e tenho que sair várias vezes.
Alguma sugestão ? O que estou fazendo errado?