Autore Topic: Istanza singola di un'activity  (Letto 428 volte)

Offline k3v1n

  • Utente junior
  • **
  • Post: 61
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung S3
Istanza singola di un'activity
« il: 25 Novembre 2013, 22:10:22 CET »
0
Salve a tutti,
la mia app è costituita da una pagina home dalla quale poi l'utente può accedere alle altre pagine... è molto semplice...
Tutte le pagine (activity), permettono con il tasto back di tornare alla home.
Quando torno indietro viene invocato sempre il metodo onCreate come se venisse creata una nuova istanza della classe, è normale?
Ho provato anche a definire l'activity con la property android:launchMode="singleTop" ma ho notato che viene sempre eseguito l'oncreate...

Poichè nella home viene invocato un servizio remoto vorrei evitare che ogni volta viene invocato il servizio... vorrei differenziare qualcosa se è la prima volta che l'activity si apre oppure se si proviene da un'altra delle activity mediante back.

Avete consigli?

grazie

Offline MarkRider

  • Nuovo arrivato
  • *
  • Post: 13
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    motorola e minipc
  • Sistema operativo:
    Win 7,Win XP
Re:Istanza singola di un'activity
« Risposta #1 il: 26 Novembre 2013, 09:13:46 CET »
0
sono agli inizi, ma mi sembra di aver letto che c'è da inserire il metodo OnResume, fatto appositamente per quando si ritorna sull'activity. Ovvero l'activity resta in modalità nascosta perchè perde il focus, quando ci ritorni, anche con il tasto back, riparti dallo stack OnResume. Cmq mi pare che devi sempre controllare sull'OnCreate se sn già attivi i servizi o gli oggetti di quella activity e riprocedere al Reasume dell'attività.

Mi sembra che devi anche prevedere la pausa dell'activity.

http://developer.android.com/training/basics/activity-lifecycle/pausing.html

Offline k3v1n

  • Utente junior
  • **
  • Post: 61
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung S3
Re:Istanza singola di un'activity
« Risposta #2 il: 26 Novembre 2013, 09:44:02 CET »
0
Ho già previsto l'override del metodo onResume ma io vorrei evitare di avere multiple istanza della stessa classe activity, la vedo inutile...

Offline eagledeveloper

  • Translate Team
  • Utente senior
  • ****
  • Post: 516
  • Respect: +37
    • Google+
    • 347516210
    • dark_pinz
    • @WandDStudios
    • Mostra profilo
    • W&D Studios
  • Dispositivo Android:
    HTC One X e HTC One
  • Play Store ID:
    W%26D+Studios
  • Sistema operativo:
    Ubuntu / Windows 7
Re:Istanza singola di un'activity
« Risposta #3 il: 26 Novembre 2013, 10:30:08 CET »
0
Codice (Java): [Seleziona]
Intent intent = new Intent(context, yourActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);
I numeri contano molto di più del seme.