我使用Firebase用户界面中的FirebaseRecyclerView来显示数据列表。现在当我点击其中一个项目时,根据数据库中项目的ID,我想打开DetailActivity。如何在 populateViewHolder 中获取Firebase生成的 ID(例如:-KRAVjAhr6A_spgJZEET)。
dask.dataframes
答案 0 :(得分:1)
您必须将数据放在ArrayList中,然后放在视图上的populateView attche onClickListener上,并传递使用Bundle单击的id,记住您已将视图设置为clickable =" true"在你的xml上,如果它不是一个按钮。
viewHolder.container.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Bundle bundle = new Bundle();
bundle.putString("ID_KEY", items.get(position).getId());
Intent intent = new Intent(context.getApplicationContext(), DetailActivity.class);
intent.putExtra("EXTRAS_KEY", bundle);
context.startActivity(intent);
}
});
答案 1 :(得分:1)
我为每个项目点击实现了一个TouchListener,在onClick回调中,根据位置,您可以获得如下所示的键:
mRecyclerView.addOnItemTouchListener(new RecyclerTouchListener(this, mRecyclerView, new RecyclerClickListener() {
@Override
public void onClick(View view, int position) {
String key = adapter.getRef(position).getKey();
}
@Override
public void onLongClick(View view, int position) {
}
}));
信用:How to get obj key from FirebaseListAdapter on Item Click. FirebaseUI