为了账号安全,请及时绑定邮箱和手机立即绑定

当回收在 Fragment 上时,如何从 RecycleView 中删除项目?

当回收在 Fragment 上时,如何从 RecycleView 中删除项目?

月关宝盒 2021-11-24 18:44:16
我尝试使用 OnDeleteData 从我的 RecyclerView 中删除一项。但我在适配器文件上有错误。(如果我将这种方法用于 Activity 很好,但我将我的 Activity 更改为片段)适配器文件:public class menuUserAdapter extends RecyclerView.Adapter<menuUserAdapter.ViewHolder> {public interface dataListener{    void onDeleteData(Transaksi transaksi , int position);}dataListener listener;public menuUserAdapter(ArrayList<Transaksi> listtransaksi, Context context) {    this.listtransaksi = listtransaksi;    //this.listuser = listuser;    this.context = context;    listener = (homeFragment) context;}public void onBindViewHolder(@NonNull ViewHolder holder, final int position) {   holder.listitem.setOnLongClickListener(new View.OnLongClickListener() {       public boolean onLongClick(final View v) {          listener.onDeleteData(listtransaksi.get(position),position);        }   }; }}在片段文件上:  public class homeFragment extends Fragment implements menuUserAdapter.dataListener {public void onDeleteData(Transaksi transaksi, int position) {    if(reference != null){        reference.child("transaksi").child(transaksi.getKey()).removeValue().addOnSuccessListener(new OnSuccessListener<Void>() {            @Override            public void onSuccess(Void aVoid) {                Toast.makeText(getActivity(), "Data Berhasil Dihapus", Toast.LENGTH_SHORT).show();            }        });      }  }}listener = (homeFragment) context; 我在这条线上有错误
查看完整描述

1 回答

?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

由于您的片段正在实现接口,因此使用片段对其进行初始化,上下文是保存 homeFragment 的 Activity 上下文。


public menuUserAdapter(ArrayList<Transaksi> listtransaksi, Context context, homeFragment fragment) {

    this.listtransaksi = listtransaksi;

    this.context = context;

    listener = fragment;

}

在你的片段中


menuUserAdapter adapter = menuUserAdapter(listtransaksi, getActivity(), this);

希望对你有帮助。


查看完整回答
反对 回复 2021-11-24
  • 1 回答
  • 0 关注
  • 119 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信