Estoy en el móvil y no veo todo el código pero creo que declaras mal el arraylist , si lo haces así tendrás que declararlo antes del oncreate o marcarlo como final.
Lo de asignarle un valor inicial como "" al edittext es evitar líos, se que de serie viene con ese valor y me ahorro comprobar valores cuando trabajo con el edittext.