Frage

Ich habe die folgenden zwei Beispiele von Start-Aktivitäten in Android zu sehen:

Beispiel 1

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

Beispiel 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);
}

Es scheint die offensichtliche Unterschied zwischen den beiden Beispielen ist, dass Sie die Logik anhängen, wie eine Aktivität auf die Durchführung der Maßnahme erstellt wird. Gibt es noch andere wichtige Unterschiede? (Zum Beispiel ist der Aufruf Aktivität gesagt, bis die genannten Aktivität beendet warten in einem Fall, nicht aber in dem anderen, usw.)

War es hilfreich?

Lösung

Ich sehe keinen Unterschied zu Ihren 2 Methoden, die von den zwei Codezeilen in Ihrem ersten Verfahren nur in einer statischen Methode lag passieren, dass nur zufällig in der zweiten Tätigkeit der Klasse befand.

Die tatsächlichen Codezeilen, die die Aktivität starten ausgeführt werden, sind identisch. Somit ist das Verhalten der zwei Methoden identisch sein.

Andere Tipps

Auch könnte der Code zu verkürzen

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

Der einzige Grund, eine Instanz von Intent als ein Feld zu erstellen, wenn Sie auf Set Fahnen benötigen oder Extras hinzufügen, usw.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top