gpt4 book ai didi

android - 无法从RecyclerView更新BottomSheet上的数据

转载 作者:行者123 更新时间:2023-12-03 10:12:00 25 4
gpt4 key购买 nike

在我的应用程序中,有一个 Activity ,其中数据以RecyclerView显示。
我也添加了BottomSheetBehavior。在这里,我想向用户显示他或她在Data上选择的RecyclerView
这是一件很有趣的事情,当我单击RecyclerView时,数据将加载到 Bottom Sheet 上,但之后再次单击recyclerData上的其他位置,它仍会加载以前的数据,而不是其他位置 data
我的查询是如何解决此问题,我想显示从recyclerview到BottomSheet的特定点击位置数据。
不是我无法显示,而是在我单击RecyclerView的任何位置上显示了nomatter,而相同数据正在被显示在BottomSheet上的
这是我的代码 onBindViewHolder :

 //RecyclerViewCode
Glide.with(activity).load(data.getITEM_IMAGE()).error(R.drawable.googleg_standard_color_18)
.into(holder.recyclerViewItemImageViewAdapter);

holder.recyclerViewItemNameAdapter.setText(data.getITEM_NAME());
holder.recyclerViewItemPriceAdapter.setText("₹ "+data.getITEM_PRICE());
holder.recyclerViewTimeForPreparation.setText(data.getITEM_PREPARATION_TIME());
holder.recyclerViewItemDescriptionAdapter.setText(data.getITEM_DESCRIPTION());

if (!itemDataList.get(position).getAVAILABILITY().equals("false")){
holder.itemUnavailability.setVisibility(View.GONE);
holder.recyclerViewItemAvailability.setVisibility(View.GONE);

//BottomSheetBehavior Object:
selectedItemFoodAvailability.setText("Available");
selectedItemFoodAvailability.setTextColor(Color.parseColor("#95C869"));

if (itemDataList.get(position).getITEM_RATTING().equals("null")){

holder.recyclerViewItemRattingAdapter.setText("--");
holder.imageViewRattingStar.setVisibility(View.VISIBLE);

}else{

holder.recyclerViewItemRattingAdapter.setText(data.getITEM_RATTING());
holder.imageViewRattingStar.setVisibility(View.VISIBLE);

}

}else{

holder.itemUnavailability.setVisibility(View.GONE);
holder.itemUnavailability.setClickable(false);
holder.recyclerViewItemAvailability.setText("Currently unavailable");
holder.recyclerViewItemAvailability.setAllCaps(true);

//BottomSheetBehavior Object:
selectedItemFoodAvailability.setTextColor(Color.parseColor("#FD7A49"));
selectedItemFoodAvailability.setText("UNAVAILABLE");

}

//BottomSheetBehavior attaching RecyclerData
selectedFoodName.setText(itemDataList.get(position).getITEM_NAME());
Glide.with(activity).load(itemDataList.get(position).getITEM_IMAGE()).error(R.drawable.googleg_standard_color_18)
.into(selectedItemFoodImage);
selectedItemFoodDescription.setText(itemDataList.get(position).getITEM_DESCRIPTION());
selectedItemFoodPrice.setText(itemDataList.get(position).getITEM_PRICE());
if (!itemDataList.get(position).getAVAILABILITY().equals("false")){
selectedItemFoodAvailability.setText("Available");
selectedItemFoodAvailability.setTextColor(Color.parseColor("#95C869"));
}else{

selectedItemFoodAvailability.setTextColor(Color.parseColor("#FD7A49"));
selectedItemFoodAvailability.setText("UNAVAILABLE");
}


holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

View sheet= activity.findViewById(R.id.SelectedBottomSheetForFood);
bottomSheetBehavior= bottomSheetBehavior.from(sheet);
bottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);

}
});

selectedItemFoodShop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

Intent intent= new Intent(activity.getApplicationContext(), Shop.class);
intent.putExtra("uid", data.getCLIENT_UID());
intent.putExtra("type",data.getTREE());
activity.startActivity(intent);
}
});

selectedItemFoodAddCartButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

if (!data.getAVAILABILITY().equals("false")){
Toast.makeText(activity, "item "+data.getITEM_NAME()+" added to cart", Toast.LENGTH_SHORT).show();

}
else{

Toast.makeText(activity, "Unable to place order for selected Item", Toast.LENGTH_SHORT).show();
}

}
});
谁能帮我???
谢谢

最佳答案

最后,我能够通过在Holder.ItemView.setOnClick下创建一个方法来解决该问题,然后将数据传递给使用与上述相同代码创建的Method,然后我开始工作。但是,我没有发现代码行之间的任何区别,因为它与上面的相同,只是在新代码中,与BottomSheet相关的所有内容都在新方法中,否则完全相同。

关于android - 无法从RecyclerView更新BottomSheet上的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63388534/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com