RecyclerView
私はFirebaseデータからロードしました。各項目にあるボタンに機能を追加する必要があります。これはショッピングに商品を追加することですカート。Firebase Recyclerアダプタの各項目ボタンのイベント
リサイクラに複数のアイテムがある場合、ボタンをクリックするとアイテムが正しく追加されますが、他のアイテムは追加できなくなるため、問題が発生します。
私がしたいのは、それぞれのアイテムに対してonclik
を実行することです。それは明らかに1回だけです。
@Override
protected void populateViewHolder(final FriendsViewHolder viewHolder, final Menu model, int position) {
final String item_id = getRef(position).getKey();
final String rest_id = getIntent().getStringExtra("rest_id");
viewHolder.setName(model.getNombre());
viewHolder.setDescrpcion(model.getDescripcion());
viewHolder.setImage(getApplicationContext(),model.getThumb_image());
viewHolder.agregaBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mEstado_pedidos.equals("sin_pedidos")){
Map pedidoMap = new HashMap();
pedidoMap.put("Solicitud_Pedido/"+mCurrent_user.getUid() + "/" + rest_id + "/" + item_id + "/tipo_pedido", "solicitado");
pedidoMap.put("Solicitud_Pedido/"+rest_id + "/" + mCurrent_user.getUid() + "/" + item_id +"/tipo_pedido", "recibido");
mRootRef.updateChildren(pedidoMap, new DatabaseReference.CompletionListener() {
@Override
public void onComplete(DatabaseError databaseError, DatabaseReference databaseReference) {
if (databaseError != null){
Toast.makeText(getApplicationContext(), "Hubo un error al enviar la solicitud" , Toast.LENGTH_SHORT).show();
}
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setEnabled(true);
fab.setVisibility(View.VISIBLE);
mEstado_pedidos = "con_pedido";
Button agregaBtn = (Button)findViewById(R.id.btn_agregar);
agregaBtn.setText("Eliminar del carrito");
}
});
}
}
});
final String list_user_id = getRef(position).getKey();
viewHolder.mView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
}
これは単なる野生の野生の推測を取るクラスViewholder
public static class FriendsViewHolder extends RecyclerView.ViewHolder {
View mView;
Button agregaBtn;
public FriendsViewHolder(View itemView) {
super(itemView);
mView = itemView;
agregaBtn = (Button)mView.findViewById(R.id.btn_agregar);
}
public void setName(String nombre){
TextView mName = (TextView) mView.findViewById(R.id.nombre_item);
mName.setText(nombre);
}
public void setDescrpcion(String descrpcion){
TextView mDescripcion = (TextView) mView.findViewById(R.id.descripcion_item);
mDescripcion.setText(descrpcion);
}
public void setImage(final Context context, String thumb_image){
ImageView mImagen = (ImageView) mView.findViewById(R.id.imagen_item);
Picasso.with(context).load(thumb_image).into(mImagen);
}
}
あなたの質問は明確ではありません..あなたはpropulateviewholder '上記adapter'割り当て'から始まるコードを投稿することができます'と質問をサンプル/スクリーンショットで更新してください。 –
アイテムがカートに追加されているかどうかを確認する必要がありますが、追加されているかどうかを確認する方法はわかりません。商品がカートに追加されているかどうかを確認するには –
こんにちは、私はポルトガル語を話す。 –