1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Colocar variável de tempo no botão voltar.

Galera, Boa noite. Preciso de uma ajudinha, estou com o seguinte código. Pois preciso parar a Thread quando o botão voltar for clicado.

private void timeGame() {

    final Timer t = new Timer();
    t.scheduleAtFixedRate(new TimerTask() {
        @Override
        public void run() {
            //runOnUiThread
            runOnUiThread(new Runnable() {
                @SuppressLint("SetTextI18n")
                @Override
                public void run() {

                    if (timeCounter > 0){

                        timeCounter--;
                       textoTime.setText((Integer.toString((timeCounter))));

                    }else{

                        t.cancel();
                        startActivity(new Intent(QuestionsSolo.this, GameOver.class));
                        QuestionsSolo.this.finish();

                    }


                    }

            });

        }
    }, 1000, 1000);

}

@Override
public void onBackPressed() {

//Como faço pra jogar a variável t lá da thread aqui? Pra poder colocar 
  t.cancel; //como lá em cima? Ou alguma outra forma de parar a thread, pois se clico em voltar ela continua rodando.
}
  • A qual botão "voltar" você está se referindo? Ao botão padrão de voltar dos dispositivos android ou a algum botão do tipo Button? Se é relacionado ao botão de voltar padrão você precisa sobescrever o método onBackPressed() (que faz parte do ciclo de vida das activities) e dentro dele realizar a operação desejada.

    LucasSousa2   20 de abr de 2019
  • Olá, Lucas, Boa tarde. Agradeço a ajuda, eu consegui resolver da seguinte forma.

    @Override public void onBackPressed() { efeitobutton(); try { startActivity(new Intent(QuestionAnimSolo.this, TypeFragmentSolo.class)); t.cancel(); } catch (Exception e) { e.printStackTrace(); } }

    GuilDraco   22 de abr de 2019
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags java android mobile ou faça a sua própria pergunta.