如何在Firebase RecyclerView中点击某个项目时打开新的活动 [英] How to open a new activity when an item is clicked in Firebase RecyclerView

查看:162
本文介绍了如何在Firebase RecyclerView中点击某个项目时打开新的活动的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

  Query queryRef = mDatabase.child(user-tickets)。child(userId); 
FirebaseRecyclerAdapter< Ticket,TicketViewHolder> (
Ticket.class,
TicketViewHolder.class,
queryRef
){
@Override
保护无效populateViewHolder(TicketViewHolder viewHolder,Ticket模型,int位置){
//想获得这里记录的这个记录
}
};


解决方案我已经为每个项目实施了一个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){


}));

贷:


I have used FirebaseRecyclerView from Firebase UI to show a list of data. Now when I click on one of the items, depending on the ID of the item in database, I want to open DetailActivity. How can I get Firebase generated ID(eg: -KRAVjAhr6A_spgJZEET) in populateViewHolder.

Query queryRef = mDatabase.child("user-tickets").child(userId);
FirebaseRecyclerAdapter<Ticket, TicketViewHolder> adapter = new FirebaseRecyclerAdapter<Ticket, TicketViewHolder>(
            Ticket.class,
            R.layout.item_ticket,
            TicketViewHolder.class,
            queryRef
    ) {
        @Override
        protected void populateViewHolder(TicketViewHolder viewHolder, Ticket model, int position) {
            //want to get Id here for this record
        }
    };

解决方案

I have implemented one TouchListener for each Item click, in the onClick callback, depending on the position, you can get the key as shown:

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) {

        }
    }));

Credit: How to get obj key from FirebaseListAdapter on Item Click. FirebaseUI

这篇关于如何在Firebase RecyclerView中点击某个项目时打开新的活动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆