I ask for help I have searched but I have not found what I am doing wrong so that I do not update the listview, after having modified the table with an Alertdialog I would appreciate any help.
public class Pedidos extends Activity implements AdapterView.OnItemSelectedListener {
private List<Productos> productosList = new ArrayList<Productos>();
private SQLiteDatabase db;
ListView listViewP;
TextView textTotal, prodcod, prodnombre, prodstock, prodprecio, totlin;
EditText editcantidad;
private DBHelper helper;
Spinner spinnerfamilia;
private GruposAdapter gruposAdapter;
private ProductosAdapter productosAdapter;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.pedido);
listViewP = (ListView) findViewById(R.id.listViewP);
spinnerfamilia = (Spinner) findViewById(R.id.spinner2);
textTotal = (TextView) findViewById(R.id.textView28);
helper = new DBHelper(this);
db = helper.getWritableDatabase();
gruposAdapter = new GruposAdapter(this,android.R.layout.simple_spinner_dropdown_item, helper.recuperarGrupos());
gruposAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerfamilia.setAdapter(gruposAdapter);
spinnerfamilia.setOnItemSelectedListener(this);
productosList = helper.recuperarProductos();
productosAdapter = new ProductosAdapter(this,productosList);
listViewP.setAdapter(productosAdapter);
productosAdapter.notifyDataSetChanged();
listViewP.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Productos productos = productosAdapter.getItem(i);
final String codProd;
final Integer precio;
codProd = productos.getCodigo();
precio = productos.getPrecioNeto();
final AlertDialog.Builder mBuilder = new AlertDialog.Builder(Pedidos.this);
View mView = getLayoutInflater().inflate(R.layout.input_box, null);
prodcod = (TextView) mView.findViewById(R.id.textView21);
prodnombre = (TextView) mView.findViewById(R.id.textView22);
prodstock = (TextView) mView.findViewById(R.id.textView23);
prodprecio = (TextView) mView.findViewById(R.id.textView24);
editcantidad = (EditText) mView.findViewById(R.id.editText11);
totlin = (TextView) mView.findViewById(R.id.textView25);
prodcod.setText(codProd);
prodnombre.setText(productos.getDescripcion());
prodstock.setText(String.valueOf(productos.getStock()));
prodprecio.setText("Precio Neto $" + String.valueOf(precio));
editcantidad.setText(String.valueOf(productos.getCantidad()));
editcantidad.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void afterTextChanged(Editable editable) {
if(editcantidad.getText().length()>=1) {
int precioU = Math.round(precio*(1+19/100));
int total = Integer.valueOf(editcantidad.getText().toString()) * precioU;
totlin.setText(String.valueOf(total));
}
}
});
mBuilder.setView(mView)
.setTitle("Cantidad")
.setNegativeButton("Cancelar", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
}
})
.setPositiveButton("Aceptar", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
helper.actualizarCantProd(codProd, Integer.valueOf(editcantidad.getText().toString()), Integer.valueOf(totlin.getText().toString()));
}
});
AlertDialog dialog = mBuilder.create();
dialog.show();
}
});
textTotal.setText("Total $" + helper.montoPedido());
}
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
Grupos grupos = gruposAdapter.getItem(i);
productosAdapter.getFilter().filter(Long.toString(grupos.getCodGrup()), new Filter.FilterListener() {
@Override
public void onFilterComplete(int i) {
}
});
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
}