Esse foi o output do logcat de duas linhas antes do erro até o final. Lembrando que para melhor me localizar usei a tag DEBUG pra saber o momento exato do crash, so depois percebi que poderia ter clicado no link que a msg de erro proporciona, ela leva direto a linha de erro dentro do codigo
2020-01-16 18:31:48.633 30793-30793/br.com.alura.agenda I/DEBUG: AlunoEncontrado
2020-01-16 18:31:48.633 30793-30793/br.com.alura.agenda I/DEBUG: PosicaoIndexDefinida
2020-01-16 18:31:48.635 30793-30793/br.com.alura.agenda E/AndroidRuntime: FATAL EXCEPTION: main
Process: br.com.alura.agenda, PID: 30793
java.lang.ArrayIndexOutOfBoundsException: length=10; index=-1
at java.util.ArrayList.set(ArrayList.java:429)
at br.com.alura.agenda.dao.AlunoDAO.edita(AlunoDAO.java:34)
at br.com.alura.agenda.ui.activity.FormularioAlunoActivity$1.onClick(FormularioAlunoActivity.java:55)
at android.view.View.performClick(View.java:5640)
at android.view.View$PerformClick.run(View.java:22455)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6165)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:888)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:778
Aqui esta o AlunoDAO.java
package br.com.alura.agenda.dao;
import android.util.Log;
import java.util.ArrayList;
import java.util.List;
import br.com.alura.agenda.model.Aluno;
public class AlunoDAO {
private final static List<Aluno> alunos = new ArrayList<>();
private static int contadorDeIds = 1;
public void salva(Aluno aluno) {
aluno.setId(contadorDeIds);
alunos.add(aluno);
contadorDeIds++;
}
public void edita(Aluno aluno) {
int idAluno = aluno.getId();
Aluno alunoEncontrado = null;
for (Aluno a :
alunos) {
if (a.getId() == aluno.getId()) {
alunoEncontrado = aluno;
}
}
if (alunoEncontrado != null) {
Log.i("DEBUG", "AlunoEncontrado");
int posicaoDoAluno = alunos.indexOf(alunoEncontrado);
Log.i("DEBUG", "PosicaoIndexDefinida");
alunos.set(posicaoDoAluno, aluno);
Log.i("DEBUG", "setAlunoNaPosição");
}else{
Log.i("DEBUG", "AlunoNaoEncontrado");
}
}
public List<Aluno> todos() {
return new ArrayList<>(alunos);
}
}
Por enquanto vou baixar e usar os arquivos que tem no curso pra continuar sem problemas, assim que eu entender onde errei ou alguem descobrir, eu marco como "Solucionado"