Android Studio每个recyclerview项都获得数据库ID

问题描述 投票:0回答:1

当我单击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);
        }
    });
}
android firebase android-recyclerview
1个回答
0
投票

当您还从数据库中获取其值时,您需要存储在回收器视图中显示的每个项目的ID /密钥。

因此,当您将值添加到duyuruArrayList时,您还需要将数据库中的ID /密钥存储在同一列表中,或者存储在具有相同顺序的列表中。

然后,您可以按照与现在在duyuruArrayList中查找值的方式相同的方式查找ID /密钥,并按其位置查找它,并以此来更新数据库中的项目。

© www.soinside.com 2019 - 2024. All rights reserved.