如何在Firebase RecyclerView中单击项目时打开新活动

时间:2016-09-09 12:17:22

标签: android firebase firebase-realtime-database firebaseui

我使用Firebase用户界面中的FirebaseRecyclerView来显示数据列表。现在当我点击其中一个项目时,根据数据库中项目的ID,我想打开DetailActivity。如何在 populateViewHolder 中获取Firebase生成的 ID(例如:-KRAVjAhr6A_spgJZEET)

dask.dataframes

2 个答案:

答案 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