2012-12-16 8 views
5

In meiner Haupttätigkeit gibt es einen Unterschied zwischen dem Laden einer Ansicht als eine Absicht oder Verwendung von SetContentView?Unterschied zwischen Intent und und setcontentview

public class MainActivity extends Activity { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    } 
} 

Oder ist das besser? Nicht sicher, was der Unterschied ist, wenn beide die Layout-Datei laden?

public class MainActivity extends Activity { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     Intent i = new Intent(MainActivity.this, CalculateTip.class); 
     startActivity(i); 
    } 
} 

Antwort

6

Der Unterschied besteht darin, dass Sie beim ersten Erstellen einer neuen Aktivität einfach das Layout der aktuellen Aktivität ändern. Mit der zweiten Möglichkeit erstellen Sie eine neue Aktivität.

Der praktische Unterschied besteht darin, dass Sie mit der zweiten Möglichkeit, nachdem Sie die neue Aktivität gestartet haben, die Zurück-Taste drücken und zur ersten zurückkehren können. Während auf dem ersten Weg, wenn das zweite Layout einmal gezeigt wird, wenn Sie die Zurück-Taste drücken, würde es die aktuelle (einzige) Aktivität beenden, die den Benutzer zurück zu dem bringen würde, was sie vor der Eingabe Ihrer Anwendung getan haben.

Welche "besser" ist unmöglich zu bestimmen, ohne mehr darüber zu wissen, was genau Sie erreichen möchten.

+0

Das macht durchaus Sinn. In meinem Fall wäre es sinnvoller, es als Absicht zu bezeichnen, da der Zurück-Button sie zurück auf die Seite bringen sollte, bevor der "Desktop" nicht angezeigt wird. Vielen Dank – stack

0

Intent ist von Aktivität neue Aktivität initialisieren ...

setContentView ist xml gesetzt Layout

Verwandte Themen