Autore Topic: [aiuto] Fare riferimento a una Activity da un'altra activity  (Letto 691 volte)

Offline agadir92

  • Nuovo arrivato
  • *
  • Post: 9
  • Respect: 0
    • Mostra profilo
[aiuto] Fare riferimento a una Activity da un'altra activity
« il: 06 Febbraio 2012, 17:04:47 CET »
0
salve, vi pongo il mio problema:
ho un applicazione che ha due activity,
l'activity1 carica un layout xml, quando clicco su un bottone lancia un intent per avviare una seconda activity, l'acivity2.
l'activity2 ha un tasto, quando ci clicco mi deve modificare il layout nell'acivity1  per fare questo ho pensato che occorre passarmi un riferimento dell'acivity1 all'acivity2 del tipo
siamo nell'acivity1
activity1 riferimento=this;

siamo nell'acivity2
quando clicco sul bottone:
riferimento.setContentView(R.layout.nuovolayout);

ora, il problema è come mi riferisco dall'acivity2 all'acivity1? non si può passare il riferimento tramite putExtra o cose del genere perchè prevedono soltando tipi String, int, char, ecc ecc e non activity1.

Offline undead

  • Utente senior
  • ****
  • Post: 666
  • Respect: +113
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S6
  • Play Store ID:
    DrKappa
  • Sistema operativo:
    Windows 10 64-bit, Windows 8.1 64-bit
Re:[aiuto] Fare riferimento a una Activity da un'altra activity
« Risposta #1 il: 07 Febbraio 2012, 13:22:14 CET »
0
Potresti riportare un intero, lo leggi e fai semplicemente un if e setti il content view a seconda del valore che hai restituito.
O se vuoi farlo ancora più "elegante" riporti il nome del layout e utilizzi getResource().getIdentifier() passandogli il nome del layout, il tipo e il package.

http://developer.android.com/reference/android/content/res/Resources.html#getIdentifier(java.lang.String, java.lang.String, java.lang.String)


Ricorda però che la reflection è lenta, anche se in casi come questo (cambio di activity e caricamento layout) il suo costo è trascurabile.

frusso

  • Visitatore
Re:[aiuto] Fare riferimento a una Activity da un'altra activity
« Risposta #2 il: 07 Febbraio 2012, 13:52:27 CET »
0
No scusa, l'activuty1 potrebbe essere stata anche chiusa (sicuramente è in pausa) e quindi non tutte le sue risorse disponibili.

Devi lanciare la seconda activity con startActivityForResult ed al ritorno nella prima arcitovy (onAcriviryResult) modificare il layout in base al risultato che la seconda ha laciato


Offline undead

  • Utente senior
  • ****
  • Post: 666
  • Respect: +113
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S6
  • Play Store ID:
    DrKappa
  • Sistema operativo:
    Windows 10 64-bit, Windows 8.1 64-bit
Re:[aiuto] Fare riferimento a una Activity da un'altra activity
« Risposta #3 il: 07 Febbraio 2012, 14:09:08 CET »
0
No scusa, l'activuty1 potrebbe essere stata anche chiusa (sicuramente è in pausa) e quindi non tutte le sue risorse disponibili.

Devi lanciare la seconda activity con startActivityForResult ed al ritorno nella prima arcitovy (onAcriviryResult) modificare il layout in base al risultato che la seconda ha laciato
Penso intendesse questo.

Almeno è quello che avevo capito io... quando fa riferimento a putextra pensavo si riferisse all'Inent terzo parametro di onActivityResult. :-)

Offline agadir92

  • Nuovo arrivato
  • *
  • Post: 9
  • Respect: 0
    • Mostra profilo
Re:[aiuto] Fare riferimento a una Activity da un'altra activity
« Risposta #4 il: 07 Febbraio 2012, 15:26:42 CET »
0
perfetto! grazie a entrambi!!!!