Как реализовать bottomsheetdialogfragmemt?

Есть холдер

public class ClientTivarHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
    public TextView texttovarname,texttovarprice;
    public RoundedImageView imageTovar;
    public CardView cardTovar;
    public ItemClickListener itemClickListener;
    private Dialog dialog;
    private Context context;
    public ClientTivarHolder(View itemView){
        super(itemView);
        texttovarname=itemView.findViewById(R.id.texttovrnme);
        texttovarprice=itemView.findViewById(R.id.pricetexttovar);
        imageTovar=itemView.findViewById(R.id.tovarImage);
        cardTovar=itemView.findViewById(R.id.tovarcard);
    }
    public void setItemClickListner(ItemClickListener listner){this.itemClickListener=listner;}
    @Override
    public void onClick(View view){
        itemClickListener.onClick(view,getAdapterPosition(),false);
    }
}

Есть адаптер

public class TovarsAdapter {

    private String TovarName,TovarOpisanie,TovarPrice,TovarImage,ShopPhone,ShopUid;
    public TovarsAdapter(){
    }
    public TovarsAdapter(String tovarName, String tovarOpisanie, String tovarPrice, String tovarImage, String shopPhone, String shopUid) {
       this. TovarName = tovarName;
      this.  TovarOpisanie = tovarOpisanie;
      this.  TovarPrice = tovarPrice;
      this.  TovarImage = tovarImage;
       this. ShopPhone = shopPhone;
     this.   ShopUid = shopUid;
    }
    public String getTovarName() {
        return TovarName;
    }
    public void setTovarName(String tovarName) {
        TovarName = tovarName;
    }
    public String getTovarOpisanie() {
        return TovarOpisanie;
    }
    public void setTovarOpisanie(String tovarOpisanie) {
        TovarOpisanie = tovarOpisanie;
    }
    public String getTovarPrice() {
        return TovarPrice;
    }
    public void setTovarPrice(String tovarPrice) {
        TovarPrice = tovarPrice;
    }
    public String getTovarImage() {
        return TovarImage;
    }
    public void setTovarImage(String tovarImage) {
        TovarImage = tovarImage;
    }
    public String getShopPhone() {
        return ShopPhone;
    }
    public void setShopPhone(String shopPhone) {
        ShopPhone = shopPhone;
    }
    public String getShopUid() {
        return ShopUid;
    }
    public void setShopUid(String shopUid) {
        ShopUid = shopUid;
    }
}

И класс интерфейс ItemClickListener

public interface ItemClickListener {
    void onClick(View view, int position, boolean isLongClick);
}

Само активити где хочу это реализовать

public class TovarActivity extends AppCompatActivity {
private DatabaseReference tovars;
private RecyclerView recyclerView;
private String uid,srav;
    RecyclerView.LayoutManager layoutManager;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_tovar);
        layoutManager=new GridLayoutManager(this,2);
        Log.d("Uid",getIntent().getExtras().get("ShopUid").toString());
        recyclerView=(RecyclerView) findViewById(R.id.tovarrec);
        tovars= FirebaseDatabase.getInstance().getReference().child("Tovars");
        recyclerView.setHasFixedSize(true);
        recyclerView.setLayoutManager(layoutManager);
    }
    @Override
    protected void onStart() {
        super.onStart();
        FirebaseRecyclerOptions<TovarsAdapter> options=new FirebaseRecyclerOptions.Builder<TovarsAdapter>()
                .setQuery(tovars.orderByChild("ShopUid").equalTo(getIntent().getExtras().get("ShopUid").toString()),TovarsAdapter.class).build();
        FirebaseRecyclerAdapter<TovarsAdapter, ClientTivarHolder> adapter=new FirebaseRecyclerAdapter<TovarsAdapter, ClientTivarHolder>(options) {
            @Override
            protected void onBindViewHolder( @androidx.annotation.NonNull ClientTivarHolder holder, int position,  @androidx.annotation.NonNull TovarsAdapter model) {
        holder.texttovarprice.setText(model.getTovarPrice());
        holder.texttovarname.setText(model.getTovarOpisanie());
holder.texttovarname.setHint(model.getShopUid());
                Transformation transformation=new RoundedTransformationBuilder().borderColor(Color.WHITE).borderWidthDp(3).cornerRadius(12).oval(false).build();
                Picasso.get().load(model.getTovarImage()).transform(transformation).into(holder.imageTovar);
            }
            @Override
            public ClientTivarHolder onCreateViewHolder(ViewGroup parent, int viewType) {
                View view= LayoutInflater.from(parent.getContext()).inflate(R.layout.item_tovars,parent,false);
              ClientTivarHolder holder=new ClientTivarHolder(view);
                return holder;
            }
        };
        recyclerView.setAdapter(adapter);
        adapter.startListening();
    }
}

Проблема:я незнаю как можно сделать слушатель на отдельные item отправить с нее hint с uid для приема в bottomsheetdialogfragmemt определенной информации. Пытался сделать фрагмент менеджер в холдере но не вышло. Как можно решить мою проблему?


Ответы (0 шт):