Però con queste lacune non puoi davvero andare avanti, fermati un attimo a guardare come usare le strutture dati e gli oggetti in generale...
Cioè "estrarre" il dato da un ArrayList<Contatto> è esattamente lo stesso che farlo da un ArrayList<String> (tanto per fare l'esempio che avevi tu), solo che poi invece di avere in mano una stringa, che è più immediata da gestire (come nel tuo codice dove fai la stampa a video), hai un Contatto, un oggetto da cui devi estrarre i dati con metodi appositi (se segui l'esempio che ti avevo postato, basta utilizzare quei metodi getNome(), getCognome() ...).
Intanto non ho mai detto di istanziarla nell'altro metodo, anzi ho sempre detto l'esatto contrario, devi istanziarla una sola volta.L'array list l'ho dichiarata all'inizio della classe. Poi nel metodo inserisciContatto l'ho riempita. Quando vado a richiamare la stessa arraylist in un altro metodo( devo ancora vedere come si istanzia nell'altro metodo) mi restituisce null.
Se poi ti stai riferendo alla stessa ArrayList e ti restituisce null allora sei in uno dei seguenti casi (non vedo altre possibilità ora come ora):
- Il metodo a cui ti riferisci viene richiamato prima che l' ArrayList sia effettivamente creata, quindi l'oggetto è ancora null
- L'ArrayList viene istanziata ma poi tu la setti a null (non so perché dovresti farlo, anche involontariamente è improbabile)
- Tu pensi di stare accedendo alla stessa arrayList ma in realtà sono due oggetti diversi
Onestamente fatico a capire perché tu non possa postare il codice, comunque senza averlo siamo al punto di tirare ad indovinare, fai un po' di chiarezza please ...