Pergunta

Eu tenho visto os dois exemplos de iniciar as atividades no Android seguintes:

Exemplo 1

Intent myIntent = new Intent(CurrentActivity.this, NextActivity.class);
CurrentActivity.this.startActivity(myIntent);

Exemplo 2

// Calling activity
NextActivity.show(this)

// In the called activity
static void show(Context context) {
        final Intent intent = new Intent(context, NextActivity.class);
        context.startActivity(intent);
}

Parece que a diferença óbvia entre os dois exemplos é que você anexar a lógica de como é criada uma atividade para a implementação da atividade. Existem outras diferenças fundamentais? (Por exemplo, é a atividade chamando disse para esperar até que os chamados acabamentos de atividade em um dos casos, mas não em outro, etc.)

Foi útil?

Solução

Não vejo nenhuma diferença para os seus 2 métodos, além dos 2 linhas de código em seu primeiro método só acontecerá a ser localizado em um método estático que só acontece de ser localizado na sala de aula do 2º actividade.

As linhas de código que estão sendo executados para iniciar a atividade são idênticos. Assim, o comportamento dos métodos 2 será idêntico.

Outras dicas

Além disso, o código poderia ser reduzido para

context.startActivity(new Intent (context, NextActivity.class));

Apenas motivos para se criar uma instância de Intenções como um campo é se você precisa de sinalizadores definidos ou adicionar extras, etc.

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