Al dar clic en el boton de cuadrado del toolbar, me ua nueva actividad para ir agregando items al pedido estos valores los tomo en el evento onActivityResult
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (Activity.RESULT_OK == resultCode) {
switch (requestCode) {
case ArticuloAgregarCantidadActivity.REQUEST_ADD_ARTICULO:
TotalizarPedido();
break;
case REQUEST_UPDATE_DELETE_PEDIDO:
Integer can=data.getIntExtra("canIngresada",0);
String cod=data.getStringExtra("codiArticulo");
String des=data.getStringExtra("descArticulo");
String pre=data.getStringExtra("precioArticulo");
Float pre1=Float.parseFloat(pre.substring(1,pre.length()));
Toast.makeText(getActivity(), String.format("selecciono la cantidad %s",can),Toast.LENGTH_LONG).show();
DetallePedido linea = new DetallePedido("",1,cod,des,can,pre1,1,0,pre1);
mAdaptadorDetalle.items.add(linea);
reciclador.setAdapter(mAdaptadorDetalle);
TotalizarPedido();
break;
}
}
}
En este evento lo que hago es agregar a mi lista una nueva linea del detalle del pedido, y lo lo que quiero es que al agregar la nueva linea de detalle en la lista del adaptador se refresque en la actividad dentro del cardview de items, pero al agregar el item a la lista visualmente siempre veo solo una, no se porque no se me refresca mi reciclerview con los items agreados
Hago un paso a paso y veo que en el mAdaptadorDetalle.item si se van agregando el problema es solo visual
mi adaptador tiene lo siguiente
public class PedidoArticuloAdapter extends RecyclerView.Adapter<PedidoArticuloAdapter.ViewHolder> {
protected ArrayList<DetallePedido> items;
public PedidoArticuloAdapter(ArrayList<DetallePedido> items) {
this.items = items;
}
public static class ViewHolder extends RecyclerView.ViewHolder {
// Campos respectivos de un item
public TextView mItemPedido;
public TextView mCantidadPedido;
public TextView mPrecioPedido;
public TextView mTotalItemPedido;
public ViewHolder(View v) {
super(v);
mItemPedido = (TextView) v.findViewById(R.id.tv_descripcion_item_pedido);
mCantidadPedido = (TextView) v.findViewById(R.id.tv_cantidad_item_pedido);
mPrecioPedido = (TextView) v.findViewById(R.id.tv_precio_item_pedido);
mTotalItemPedido = (TextView) v.findViewById(R.id.tv_total_item_pedido);
}
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext())
.inflate(R.layout.item_pedido, parent, false);
return new ViewHolder(v);
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
DetallePedido item = items.get(position);
holder.mItemPedido.setText(item.Nombre);
holder.mCantidadPedido.setText(Integer.toString(item.Cantidad));
holder.mPrecioPedido.setText(Double.toString(item.Precio));
holder.mTotalItemPedido.setText(Float.toString(item.Precio * item.Cantidad));
}
@Override
public int getItemCount() {
return items.size();
}
Cuando entre en el metodo onBindViewHolder, siempre veo que la posicion esta en 0, como puedo hacer para que se vara refrescando mi lista ?? Espero puedan ayudarme
Saludos
Fernando