Exibir ArrayList de atributos de um objeto

Estou criando um app de metas no qual registro uma meta com nome, o que fazer em cada semana, início e dia de realizar a atividade da semana. Desse modo, crio um ListViewno qual aparece o nome da meta e, quando o item é clicado, deveria imprimir um ArrayList com as informações de cada semana. O problema é que quando eu seleciono o item, na tela que deveria exibir todas as semanas, aparece somente a primeira. Gostaria de saber como fazer aparecer todas as semanas registradas no EditText da meta.

O código: Meta.Java

public class Meta implements Serializable {

private String id;
private String metaSemestre;
private String Data;
private String Dia;
private List<String> semanas;

public List<String> getSemanas() {
    return semanas;
}

public void setSemanas(List<String> semanas) {
    this.semanas = semanas;
}

public String getId() {
    return id;
}

public void setId(String id) {
    this.id = id;
}

public String getMetaSemestre() {
    return metaSemestre;
}

public void setMetaSemestre(String metaSemestre) {
    this.metaSemestre = metaSemestre;
}

public String getData() {
    return Data;
}

public void setData(String data) {
    this.Data = data;
}

public String getDia() {
    return Dia;
}

public void setDia(String dia) {
    this.Dia = dia;
}

@NonNull
@Override
public String toString() {
    return metaSemestre;
}

}

MetaFB.Java

public class MetaFB {

private FirebaseDatabase database;
private DatabaseReference metas;
private DatabaseReference semanas;

public MetaFB() {
   database = FirebaseDatabase.getInstance();
   metas = database.getReference("metas");
   semanas = database.getReference("semanas");
}

public HashMap<String, Object> toMap(Meta meta) {
    HashMap<String,Object> result = new HashMap<>();

    result.put("id", meta.getId());
    result.put("metaSemestre", meta.getMetaSemestre());
    result.put("data", meta.getData());
    result.put("dia", meta.getDia());
    result.put("semanas", meta.getSemanas());
    return result;
}

public void save(Meta meta) {
    meta.setId(metas.push().getKey());
    update(meta);
}

void update(Meta meta) {
    Map<String, Object> childUpdates = new HashMap<>();
    childUpdates.put(meta.getId(), toMap(meta));
    metas.updateChildren(childUpdates);
}

public void remove(Meta meta) {
    metas.child(meta.getId()).removeValue();
}

}

Semana.Java

public class Semana implements Serializable {

private String id;
private Meta meta;

public String getId() {
    return id;
}

public void setId(String id) {
    this.id = id;
}


public Meta getMeta() {
    return meta;
}

public void setMeta(Meta meta) {
    this.meta = meta;
}

@NonNull
@Override
public String toString() {
    return id;
}

MinhasMetasActivity.java

public class MetaFB {

private FirebaseDatabase database;
private DatabaseReference metas;
private DatabaseReference semanas;

public MetaFB() {
   database = FirebaseDatabase.getInstance();
   metas = database.getReference("metas");
   semanas = database.getReference("semanas");
}

public HashMap<String, Object> toMap(Meta meta) {
    HashMap<String,Object> result = new HashMap<>();

    result.put("id", meta.getId());
    result.put("metaSemestre", meta.getMetaSemestre());
    result.put("data", meta.getData());
    result.put("dia", meta.getDia());
    result.put("semanas", meta.getSemanas());
    return result;
}

public void save(Meta meta) {
    meta.setId(metas.push().getKey());
    update(meta);
}

void update(Meta meta) {
    Map<String, Object> childUpdates = new HashMap<>();
    childUpdates.put(meta.getId(), toMap(meta));
    metas.updateChildren(childUpdates);
}

public void remove(Meta meta) {
    metas.child(meta.getId()).removeValue();
}

}

CheckListSemanas.java

public class CheckListSemanaActivity extends AppCompatActivity {

private ListView listaSemanas;
private List<String> semanas;
private DatabaseReference fb;
private ValueEventListener valueEventListener;
private ArrayAdapter<String> semanaArrayAdapter;
private Meta meta;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_check_list_semana);
    listaSemanas = findViewById(R.id.lista_semanas);
    meta = (Meta) getIntent().getSerializableExtra("meta");
    semanas = meta.getSemanas();
    semanaArrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, semanas);
    listaSemanas.setAdapter(semanaArrayAdapter);


    valueEventListener = new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            semanas.clear();
            for (DataSnapshot data : dataSnapshot.getChildren()) {
                Meta meta = data.getValue(Meta.class);
                semanas.add(String.valueOf(meta));
            }
            semanaArrayAdapter.notifyDataSetChanged();

        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {

        }
    };

    registerForContextMenu(listaSemanas);
}

}