【问题标题】:update and delete using buttons on recyclerview firebase使用 recyclerview firebase 上的按钮更新和删除
【发布时间】:2019-10-07 19:13:20
【问题描述】:

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

//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);
    }
}
}

【问题讨论】:

    标签: android firebase android-recyclerview google-cloud-firestore


    【解决方案1】:

    所以伙计们,我试图摆脱这个,我尝试编写大量代码并最终得到解决方案,这就是解决方案..... 在TeachersAdapter.javaonBindViewHolder 为了让我们的按钮工作,需要编写一小行代码代码如下....下一个活动的图像链接也在这里clicking on update button in recyclerview & 这里getting reference of user & moving to next activity

    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);
            }
        });
    

    【讨论】:

    • 干得好!如果这解决了您的问题,请考虑接受您自己的答案。
    猜你喜欢
    • 1970-01-01
    • 2023-03-13
    • 2021-08-01
    • 1970-01-01
    • 2021-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多