当我单击recyclerView项时我正在尝试做,我可以更新该项。但是该项已连接到Firebase数据库,因此首先我必须从我可以单击的项中获取ID,但是我正在获取最新的添加了recyclerView项目ID。当我单击时,我想从Firebase获取每个RecyclerView项目ID。这样我就可以更新它们。
注意:Pid是我的数据库ID。
我的RecyclerAdapter:
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 /密钥,并按其位置查找它,并以此来更新数据库中的项目。