单击Firebase RecyclerView中的侦听器

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

这是我的代码,我想要,当我点击firebase recyclerview中的任何帖子时,它应该在一个新活动中打开,并且变量(mTextView)应该传递给新活动,请帮助我们...

recyclerView = (RecyclerView) findViewById(R.id.rv);
        recyclerView.setLayoutManager(new LinearLayoutManager(this));
        FirebaseDatabase.getInstance().setPersistenceEnabled(true);

        final FirebaseDatabase database = FirebaseDatabase.getInstance();
        myRef = database.getReference("Data");

        FirebaseRecyclerAdapter<Chapter,myViewHolder> adapter = new FirebaseRecyclerAdapter<Chapter, myViewHolder>(
                Chapter.class, R.layout.item_row, myViewHolder.class, myRef) {

            @Override
            protected void populateViewHolder(myViewHolder viewHolder, Chapter model, int position) {
                viewHolder.mTextView.setText(model.getTitle());
            }
        };
        recyclerView.setAdapter(adapter);
    }
    public static class myViewHolder extends RecyclerView.ViewHolder{
        private TextView mTextView;

        public myViewHolder(View itemView) {
            super(itemView);
            mTextView = (TextView) itemView.findViewById(R.id.titleText);

        }
    }
android firebase firebase-realtime-database android-recyclerview firebaseui
1个回答
0
投票

要解决此问题,请使用以下代码:

public static class myViewHolder extends RecyclerView.ViewHolder{
    private TextView mTextView;

    public myViewHolder(View itemView) {
        super(itemView);
        mTextView = (TextView) itemView.findViewById(R.id.titleText);

    }

    void setChapterTitle(Chapter chapter){
        mTextView.setText(chapter.getTitle());

        mTextView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Log.e("TAG", "You clicked on: " + chapter.getTitle());
            }
        });         
    }
}

如您所见,我在您的myViewHolder类中添加了一个名为setChapterTitle()的新方法。此方法将帮助您将章节的标题设置为TextView。我也使用了setOnClickListener。因此,每次点击视图时,标题都会被烘烤。

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