I have a listView that displays the items of the database with an update button, this button calls the screen with the values set in the editText, I edit, I click save, it returns me the updated update message, but does not update the data, they still appear the same in the listView.
method that receives the values and calls the method updates from the database:
public void atualizar(View view){
Livro livro = new Livro();
livro.setTitulo(edtTitulo.getText().toString());
livro.setAutor(edtAutor.getText().toString());
livro.setEditora(edtEditora.getText().toString());
LivroCRUD livroCRUD = new LivroCRUD(this);
try {
livroCRUD.atualizar(livro);
Toast.makeText(this, "Livro Atualizado com sucesso!!!!", Toast.LENGTH_LONG).show();
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(this, "Não foi possivel atualizar.....!!!!", Toast.LENGTH_LONG).show();
}
}
method that updates the information in the database:
public void atualizar(Livro livro) throws Exception{
ContentValues values = new ContentValues();
values.put("titulo ", livro.getTitulo());
values.put("autor ", livro.getAutor());
values.put("editora ", livro.getEditora());
db.update("livro ", values, "_id = ? ", new String[]{" "+livro.getId()});
}
method that populates list:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LivroCRUD livroCRUD = new LivroCRUD(this);
try {
List<Livro> lista = livroCRUD.buscarTodos();
ListView lvPrincipal = (ListView) findViewById(R.id.lvPrincial);
lvPrincipal.setAdapter(new LivroAdapter(this, lista));
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(this, "Não foi possivel carregar a lista.", Toast.LENGTH_SHORT).show();
}
}
method of clicking the refresh button on the adapter, it takes the values and passes to the activity "AddUpdateActivity"
Button btnAtualizar = (Button) layout.findViewById(R.id.btnChamaAtualizar);
btnAtualizar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Livro livro = new Livro();
Intent intent = new Intent(context, AddUpdateActivity.class);
intent.putExtra("titulo", lista.get(auxPosition).getTitulo());
intent.putExtra("autor", lista.get(auxPosition).getAutor());
intent.putExtra("editora", lista.get(auxPosition).getEditora());
intent.putExtra("_id", lista.get(auxPosition).getId());
context.startActivity(intent);
}
});