2010-02-09 3 views
3

Я видел следующие два примера, начиная деятельность в Android:Разница между двумя способами начать работу?

Пример 1

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

Пример 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); 
} 

кажется очевидным различие между этими двумя примерами является то, что вы приложите логика того, как создается деятельность для реализации этой деятельности. Есть ли другие ключевые отличия? (например, вызывающая деятельность сказала, чтобы подождать, пока вызываемая деятельность не завершится в одном случае, но не в другом и т. д.)

+0

Существует никакой разницы между этими двумя. – Anil

ответ

4

Я не вижу разницы в ваших двух методах, кроме двух строк кода в вашем первом метод просто находится в статическом методе, который просто находится в классе 2-го действия.

Фактические строки кода, которые выполняются для запуска действия, идентичны. Таким образом, поведение двух методов будет одинаковым.

1

Кроме того, код может быть сокращен до

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

Единственной причины, чтобы создать экземпляр Intent как поле, если вам необходимо установить флаги или добавить дополнительные услуги и т.д. не

Смежные вопросы