Pergunta

Atualmente, estou usando isso em todas as minhas atividades:

@Override
public void onRestart(){
    onStart();
    onResume();
    runFadeInAnimation();
}

"Funciona", mas não tenho a menor ideia se isso vai me ferrar no futuro.Não tenho certeza se funciona por acaso ou se é assim que deve ser feito.Tentei executá-lo via:

@Override
public void onRestart(){
    super.onRestart();
    runFadeInAnimation();
}

Mas eu não posso - porque todas as minhas atividades estendem minha atividade principal e se eu executar o super ele tenta chamar minhas atividades principais onRestart () que irá travar.(Eu também quero que meu principal apareça gradualmente, então estou executando uma animação lá também)

Como posso lidar com isso normalmente e sem saber causar um bug?

Foi útil?

Solução

Dê uma olhada no Activity Lifecyle aqui: http://developer.android.com / reference / android / app / Activity.html

O que você está fazendo é, na verdade, redundante com o que deve acontecer automaticamente no reinício de uma atividade.

Parece que você tem alguns problemas de design possíveis com a definição de sua atividade principal e como está estendendo-a.Se eu pudesse fazer uma sugestão, eu diria que se você tem coisas em uma atividade que serão comuns a TODAS as suas atividades, coloque essas coisas em uma atividade "pai" que você possa estender.A maneira como você definiu sua atividade "principal" agora parece ter especificidades que não se prestam a outras atividades.Então, depois de configurar sua classe de atividade "pai", estenda-a para criar a atividade "principal" e coloque a lógica "fade-in" lá.

Em última análise, você deve ser capaz de chamar super.onRestart sem nenhum resultado prejudicial.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top