Segue o código do Lista de AlunosActivity
package cursoalura.com.br.ui.activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import cursoalura.com.br.R;
import cursoalura.com.br.dao.AlunoDao;
import cursoalura.com.br.model.Aluno;
import cursoalura.com.br.ui.adapter.ListaAlunosAdapter;
import static cursoalura.com.br.ui.activity.ConstatesActivities.CHAVE_ALUNO;
public class ListaAlunosActivity extends AppCompatActivity {
public static final String TITULO_APPBAR = "Lista de alunos";
public static final String TAG = "aluno";
private final AlunoDao dao = new AlunoDao();
private ListaAlunosAdapter adapter;
// private ArrayAdapter<Aluno> adapter;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// TextView aluno = new TextView(this);
// aluno.setText("Cleriston Lima");
// A sigla R significa que irá pegar do resources
setContentView(R.layout.activity_lista_alunos);
setTitle(TITULO_APPBAR);
// Criando a lista
// List<String> alunos = new ArrayList<>(Arrays.asList("Cleriston", "Thiago", "Igor", "Ana", "Andressa"));
configuraFabNovoAluno();
configuraLista(dao);
// O dialog apresenta uma view sobre-pondo a view da activity.
// Dialog dialog = new Dialog(this);
// dialog.show();
// for (int i = 0; i < 10; i++) {
// dao.salva(new Aluno("Panca", "11947164589", "panca@gmail.com"));
// }
// android.R.layout - Serve para pegar os layouts que ja vem pronto do framework
// TextView primeiroAluno = findViewById(R.id.textView);
// TextView segundoAluno = findViewById(R.id.textView2);
// TextView terceiroAluno = findViewById(R.id.textView3);
// Irá pegar as posições do text view
// primeiroAluno.setText(alunos.get(0));
// segundoAluno.setText(alunos.get(1));
// terceiroAluno.setText(alunos.get(2));
}
// Serve para criar um menu
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
getMenuInflater().inflate(R.menu.activity_lista_aluno_menu, menu);
}
// Irá pegar as informações do aluno para remover
@Override
public boolean onContextItemSelected (MenuItem item) {
int itemId = item.getItemId();
// Verifica se bate com o menu esperado.
if (itemId == R.id.activity_lista_alunos_menu_remover){
confirmaRemocao(item);
}
return super.onContextItemSelected(item);
}
private void confirmaRemocao(final MenuItem item) {
new AlertDialog
.Builder(this)
.setTitle("Removendo Aluno")
.setMessage("Tem certeza que deseja remover o aluno?")
// Botoes de confirmações
.setPositiveButton("Sim", new DialogInterface.OnClickListener() {
// Irá usar uma interface para trazer a remoção ao clicar em sim na mensagem
@Override
public void onClick(DialogInterface dialog, int which) {
AdapterView.AdapterContextMenuInfo menuInfo =
(AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
Aluno alunoEscolhido = adapter.getItem(menuInfo.position);
remove(alunoEscolhido);
}
})
.setNegativeButton("Não", null)
.show();
}
private void configuraFabNovoAluno() {
FloatingActionButton botaoNovoAluno = findViewById(R.id.activity_lista_alunos_fab_novo_aluno);
botaoNovoAluno.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
abreFormularioModoInsereAluno();
}
});
}
private void abreFormularioModoInsereAluno() {
startActivity(new Intent(this, FormularioAlunoActivity.class));
}
@Override
protected void onResume() {
super.onResume();
atualiza
`