Non ho capito qual'è il problema.
Guardando il codice, non ho neanche capito perché l'hai fatto così complesso.
ArrayList<Domanda> domande = new ArrayList<Domanda>();
#apri il file delle domande, le leggi tutte e cacci quello che ti serve nella lista
#a questo punto, hai un elenco di domande, anche se poi ne mostrerai solo una, e qui non capisco a che ti serva l'elenco, a meno che tu questa cosa non la faccia solo una volta, per poi avere tutte le domande sempre disponibili
Domanda domandaCorrente = domande.get((int)(Math.rand()*domande.size());
#e a questo punto gestisci come ti pare la cosa.
Vedi se come cosa può andare.codice:class Domanda{ protected int id; protected String domanda; protected String rispostaEsatta; protected Date dataScadenza //get e set vari }