当我单击回收器视图项目时,我正在尝试这样做,我可以更新该项目。但是该项目连接到Firebase数据库,因此首先我必须从单击的项目中获取id,但是我正在获得最新添加的回收器查看项目ID。我想在点击时从 Firebase 获取每个回收器视图商品 ID。所以我可以更新它们。
注意:Pid 是我的数据库 ID。
我的回收器适配器:
private ArrayList<Duyuru> duyuruArrayList;
public void onBindViewHolder(@NonNull ViewHolder holder, final int position) {
holder.txtBaslik.setText(duyuruArrayList.get(position).getDuyuruBaslik());
holder.txtContext.setText(duyuruArrayList.get(position).getDuyuruContext());
holder.txtYazar.setText(duyuruArrayList.get(position).getDuyuruYazar());
holder.txtTime.setText(duyuruArrayList.get(position).getDuyuruTime());
holder.txtDate.setText(duyuruArrayList.get(position).getDuyuruDate());
holder.parentLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(mContext, activity_duyuru_update_screen.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra("baslik",duyuruArrayList.get(position).getDuyuruBaslik());
intent.putExtra("context",duyuruArrayList.get(position).getDuyuruContext());
intent.putExtra("yazar",duyuruArrayList.get(position).getDuyuruYazar());
intent.putExtra("time",duyuruArrayList.get(position).getDuyuruTime());
intent.putExtra("date",duyuruArrayList.get(position).getDuyuruDate());
intent.putExtra("pid",duyuruArrayList.get(position).getPid());
mContext.startActivity(intent);
}
});
}
当您也从数据库中获取其值时,您需要存储回收器视图中显示的每个项目的 ID/密钥。
因此,当您将值添加到duyuruArrayList
时,您还需要将数据库中的 ID/键存储在同一列表中,或者存储在具有相同顺序的列表中。
然后,您可以像现在查找duyuruArrayList
中的值一样查找 ID/键,并使用该位置更新数据库中的项目。