Autore Topic: Problema visibilità arraylist tra activity  (Letto 598 volte)

Offline nicola87p

  • Nuovo arrivato
  • *
  • Post: 2
  • Respect: 0
    • Mostra profilo
Problema visibilità arraylist tra activity
« il: 27 Aprile 2012, 12:32:03 CEST »
0
Salve,
Ho iniziato da pochissimo a programmare per Android, e cercando di fare una semplice applicazione mi sono imbattuto in un problema che non riesco a risolvere, ovvero:

La mia applicazione è strutturata in questo modo :

Menu

ListaDebitori extends Menu
Money extends Menu
SecondActivity extends Money
-----------------

Nella Classe Menu ho due bottoni : uno che cliccandoci vado nella schermata gestita dalla classe money e l'altra vado in quella gestita da ListaDebitori.

Fondamentalmente il problema è questo : Nella classe Menu ho dichiarato due arraylist in questo modo :


Codice (Java): [Seleziona]
   protected ArrayList<String> arr_name = new ArrayList<String>();
    protected ArrayList<Integer> arr_numcoffee = new ArrayList<Integer>();

Nella Classe Money aggiungo un elemento così :


Codice (Java): [Seleziona]
                      public void onClick(View v) {
                       
                                        arr_name.add(index,name.toString());
                                        arr_numcoffee.add(index,0);
                                }

Nella classe SecondActivity vorrei modificare un elemento dell'arraylist, e lo faccio in questo modo :

Codice (Java): [Seleziona]
public void onClick(View v) {
                          arr_numcoffee.set(index, (Integer) res);
                                finish();
                                       
                        }

dove Index è un intero che indica la posizione e res è anch'esso un intero.
Qui mi da un problema di indexoutofboundException, con Index = 0, e size = 0.

Non so se mi sono spiegato bene,
fatemi sapere

Graaaaaazie :-)

Offline qato

  • Nuovo arrivato
  • *
  • Post: 46
  • Respect: +3
    • Mostra profilo
  • Dispositivo Android:
    Google Nexus 5
Re:Problema visibilità arraylist tra activity
« Risposta #1 il: 28 Aprile 2012, 07:29:31 CEST »
0
mmm... Come condividi le informazioni tra le varie Activity?
Se non usi un database (che in realtà credo sarebbe la scelta migliore) potresti creare una classe che funge da "contenitore" da restituire sovrascrivendo la class Application (che è un singleton) di Android ;)

Offline nicola87p

  • Nuovo arrivato
  • *
  • Post: 2
  • Respect: 0
    • Mostra profilo
Re:Problema visibilità arraylist tra activity
« Risposta #2 il: 28 Aprile 2012, 10:26:49 CEST »
0
Grazie del consiglio ! :-)

Ieri sera ho "risolto" invocando startactivityforresult, facendomi ritornare il valore modificato e un id associato per sapere dove nel mio arraylist privato della classe Menu, andare a modificare tale valore.
Può andar bene così ??

Offline qato

  • Nuovo arrivato
  • *
  • Post: 46
  • Respect: +3
    • Mostra profilo
  • Dispositivo Android:
    Google Nexus 5
Re:Problema visibilità arraylist tra activity
« Risposta #3 il: 01 Maggio 2012, 10:50:36 CEST »
0
Certamente, ricorda che non puoi però passare un riferimento, diciamo che è un passaggio di parametri è "per copia", e lo stesso concetto si applica nella gestione della risposta sulla prima activity.
Usare un DB, l'Application o un intent (come hai fatto tu ora) dipende dall'uso che si fa dei dati e dalla loro dimensione ;)