【发布时间】:2021-10-11 02:47:37
【问题描述】:
我想将 recyclerview 接收到的数据从 firebase 实时数据库传递给其他活动。 因此,当用户单击任何项目时,它会打开另一个接收到完整数据的活动(图像、名称、位置、描述)。
注意:我尝试对 firebaseRecyclerAdapter 使用 setonclick 监听器 但是 android studio 没有显示 OnClickListener,那么我应该在哪里使用 onclick?
我的主要活动:
@Override
protected void onStart() {
super.onStart();
FirebaseRecyclerOptions<HomeWorkView> options = new FirebaseRecyclerOptions.Builder<HomeWorkView>()
.setQuery(reference, HomeWorkView.class)
.build();
FirebaseRecyclerAdapter<HomeWorkView, HomeScreenWorkViewHolder> firebaseRecyclerAdapter =
new FirebaseRecyclerAdapter<HomeWorkView, HomeScreenWorkViewHolder>(options) {
@Override
protected void onBindViewHolder(@NonNull HomeScreenWorkViewHolder viewHolder, int i, @NonNull HomeWorkView homeWorkView) {
viewHolder.setdetails(getApplicationContext(), homeWorkView.getName(), homeWorkView.getImage(), homeWorkView.getDescription(), homeWorkView.getLocation());
}
@NonNull
@Override
public HomeScreenWorkViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.work_item_display_layout, parent,false);
HomeScreenWorkViewHolder holder = new HomeScreenWorkViewHolder(view);
return holder;
}
};
firebaseRecyclerAdapter.startListening();
mrecyclerView.setAdapter(firebaseRecyclerAdapter);
}
ViewHolder:
public class HomeScreenWorkViewHolder extends RecyclerView.ViewHolder {
View view;
public HomeScreenWorkViewHolder(@NonNull View itemView) {
super(itemView);
view = itemView;
}
public void setdetails(Context context, String name, String image, String description, String location) {
TextView mtitletv = view.findViewById(R.id.product_layout_name);
TextView mdesrcriptiontv = view.findViewById(R.id.product_layout_description);
TextView mlocationtv = view.findViewById(R.id.product_layout_location);
ImageView mImagetv = view.findViewById(R.id.product_layout_image);
mtitletv.setText(name);
mdesrcriptiontv.setText(description);
mlocationtv.setText(location);
Picasso.get().load(image).into(mImagetv);
}
}
类:
public class HomeWorkView {
String Name, Image, Description, Location;
public HomeWorkView() {
}
public String getName() {
return Name;
}
public void setName(String name) {
Name = name;
}
public String getImage() {
return Image;
}
public void setImage(String image) {
Image = image;
}
public String getDescription() {
return Description;
}
public void setDescription(String description) {
Description = description;
}
public String getLocation() {
return Location;
}
public void setLocation(String location) {
Location = location;
}
}
【问题讨论】:
标签: android android-recyclerview