繁体   English   中英

如何通过单击来自recyclerview的项目来打开新活动

[英]How to open new activity from clicking an item from recyclerview

当我单击列表视图项时,如何打开一个新的空活动?

我从另一个来源获得了代码,我可以用一个按钮来做,但是很困惑在自定义回收者视图上做?

这是我的Mainactivity代码

@Override
protected void onStart() {
    super.onStart();
    FirebaseRecyclerAdapter<Model, ViewHolder> firebaseRecyclerAdapter =
            new FirebaseRecyclerAdapter<Model, ViewHolder>(
                    Model.class,
                    R.layout.row,
                    ViewHolder.class,
                    mDbRef
            ) {
                @Override
                protected void populateViewHolder(ViewHolder viewHolder, Model model, int position) {

                    viewHolder.setDetails(getApplicationContext(), model.getTitle(), model.getDescription(), model.getImage());

您必须按照以下步骤操作:

1-使用构造函数将上下文传递给适配器

2-在onBindViewHolder函数中,像这样开始活动:

    holder.btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
              Intent intent =  new Intent(context, ActivityToStart.class);
              context.startActivity(intent);
        }
    });

对于click事件,您需要实现以下onClickListener:

    btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

        }
    });

(如果您利用“ Cntl + ENTER”。这项工作会容易得多。)

并用于更改屏幕(或活动)。

您可以这样做:

Intent intent = new Intent(this, SecondActivity.class);
startActivity(intent);

我希望这是有帮助的。

您可以在适配器的onBindViewHolder函数中设置onClickListener,并使用intent导航到另一个活动,如下面的示例所示。

@Override
public void onBindViewHolder(final LeaderBoardAdapter.MyViewHolder holder, final int 
position) {

    //holder.newsUrl.setText(newsItemList.get(position).getUrl());
    holder.newsDescription.setText(newsItemList.get(position).getDescription());

    holder.newsUrl.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(mContext,ReadMoreActivity.class);
            intent.putExtra("title",newsItemList.get(position).getTitle());

            mContext.startActivity(intent);

       }
    });


}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM