2012-12-16 9 views
5

W mojej głównej działalności istnieje różnica między ładowaniem widoku jako intencji lub przy użyciu setContentView?Różnica między i intencji i setcontentview

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

Czy to lepiej? Nie wiesz, czym jest różnica, jeśli oba ładują plik układu?

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

Odpowiedz

6

Różnica polega na tym, że pierwszy sposób, w jaki nie tworzysz nowego działania, po prostu zmienia układ bieżącego działania. Drugi sposób tworzy nową aktywność.

Praktyczna różnica polega na tym, że w drugiej kolejności po rozpoczęciu nowego działania można nacisnąć przycisk Wstecz i wrócić do pierwszego. Podczas gdy pierwszy sposób jest wyświetlany po naciśnięciu przycisku "Wstecz", zakończyłby on bieżącą (jedyną) czynność, która przywróciłaby użytkownika do tego, co robili przed wejściem do aplikacji.

To, co jest "lepsze", jest niemożliwe do określenia, nie wiedząc więcej o tym, co konkretnie próbujesz osiągnąć.

+0

sprawia, że ​​sens. W moim przypadku bardziej sensowne byłoby nazwać to intencją, ponieważ przycisk powrotu powinien zabrać je z powrotem na stronę, zanim nie pokaże "pulpitu". Dzięki – stack

0

zamiarem jest dla zainicjowania nowej działalności z działalności ...

setContentView jest ustawienie XML szablonu