2013-04-05 7 views
6

Jestem nowy dla Androida i używam zamiarów do przesyłania danych z jednego działania do drugiego. Chciałem tylko wiedzieć, czy odwołanie do obiektu lub kopia obiektu są wysyłane do drugiej aktywności.Co zrobi Intent.putExtra?

+4

kopia obiektu jest wysyłany z putExtra –

Odpowiedz

5

Intent.putExtra wysyła kopię obiektu to nie to samo odniesienie, gdy pojawi się dodatkowy z zamiarem zrobić nową referencję tam

+0

Dzięki JRowan czy jest jakakolwiek szansa na przekazanie referencji, to znaczy, że muszę użyć tego samego obiektu, ilekroć pojawią się jakieś zmiany w obiekcie, które muszą być odzwierciedlone w Drugim działaniu –

+1

, jeśli zrobisz to statycznie zamiast przekazać je za pomocą putExtra możesz odwołać się do niego w całej twojej aplikacji w tej samej instancji – JRowan

1

intent.putExtra służy do przesyłania informacji pomiędzy aktywnością. Oto przykład

Służy do „put” plik

Intent i = new Intent(FirstScreen.this, SecondScreen.class); 
String keyIdentifer = null; 
i.putExtra("STRING_I_NEED", strName); 

Następnie, aby odzyskać wartość spróbować czegoś takiego:

String newString 
if (savedInstanceState == null) { 
    extras = getIntent().getExtras(); 
    if(extras == null) { 
     newString= null; 
    } else { 
     newString= extras.getString("STRING_I_NEED"); 
    } 
} else { 
    newString= (String) savedInstanceState.getSerializable("STRING_I_NEED"); 
} 
Powiązane problemy