首页 > 解决方案 > 使用 recyclerview firebase 上的按钮更新和删除

问题描述

每个开发人员的美好一天,我正在从事一个名为 e-School 的项目,我在使用 firebase 适配器和 crud 操作时遇到了困难,我在回收站视图中有一个卡片视图,该卡片视图上有一个“更新”和“删除”按钮,我想要触发Button edit_tButton delete_t图像链接在这里 检查图像和firebase结构在这里db图像但我无法使按钮工作需要帮助!代码如下

//TeacherViewHolder.java

public class TeachersViewHolder extends RecyclerView.ViewHolder{
public CircleImageView teacherImage;
public TextView teacherName,teacherDesignation;

public TeachersViewHolder(@NonNull View itemView) {
    super(itemView);
    teacherImage = itemView.findViewById(R.id.image_teacher);
    teacherName =  itemView.findViewById(R.id.teacher_nome);
    teacherDesignation = itemView.findViewById(R.id.teacher_designation);
}}

//TeachersAdapter.java

public class TeachersAdapter extends RecyclerView.Adapter<TeachersAdapter.TeacherAdapterViewHolder> {

private ProgressDialog LoadingBar;
FirebaseAuth teacherAuth;
DatabaseReference teacherRef;
FirebaseDatabase db;

public Context c;
public ArrayList<Modal_Teachers> arrayList;

public TeachersAdapter(Context c, ArrayList<Modal_Teachers> arrayList){
    this.c= c;
    this.arrayList = arrayList;

}
@Override
public int getItemCount() {
    return arrayList.size();
}

@Override
public long getItemId(int position) {
    return position;
}

@NonNull
@Override
public TeacherAdapterViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
    View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_teachers,parent, false);
    Button edit_t = v.findViewById(R.id.teacher_edit);
    Button delete_t = v.findViewById(R.id.teacher_edit);
    return new TeacherAdapterViewHolder(v);
}

@Override
public void onBindViewHolder(@NonNull final TeacherAdapterViewHolder holder, final int position) {
    final Modal_Teachers sTeachers = arrayList.get(position);
    holder.teacherName.setText(sTeachers.getName());
    holder.teacherDesignation.setText(sTeachers.getQualification());
    Picasso.get().load(sTeachers.getPhotourl()).into(holder.teacherImage);


public class TeacherAdapterViewHolder extends RecyclerView.ViewHolder{
    public CircleImageView teacherImage;
    public TextView teacherName,
            teacherDesignation;
    public Button edit_t, delete_t;

    public TeacherAdapterViewHolder(@NonNull View itemView) {

        super(itemView);
        teacherImage = itemView.findViewById(R.id.image_teacher);
        teacherName =  itemView.findViewById(R.id.teacher_nome);
        teacherDesignation = itemView.findViewById(R.id.teacher_designation);
        edit_t = itemView.findViewById(R.id.teacher_edit);
        delete_t = itemView.findViewById(R.id.teacher_delete);
    }
}
}

标签: androidfirebaseandroid-recyclerviewgoogle-cloud-firestore

解决方案


所以伙计们,我试图摆脱这个,我尝试编写很多代码,最后得到了解决方案,这就是解决方案TeachersAdapter.java......onBindViewHolder工作代码如下....下一个活动的图像链接也在这里点击recyclerview中的更新按钮&在这里获取用户参考&移动到下一个活动

TeachersAdapter.java

       holder.edit_t.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            Intent goUpdateTeacher = new Intent(holder.edit_t.getContext(), UpdateTeacher.class);
            goUpdateTeacher.putExtra("photourl", sTeachers.getPhotourl());
            goUpdateTeacher.putExtra("teacherName", sTeachers.getName());
            goUpdateTeacher.putExtra("teacherDesignation", sTeachers.getQualification());

            holder.edit_t.getContext().startActivity(goUpdateTeacher);
        }
    });

推荐阅读