使用接口实现RecyclerView中的item点击事件

实现思路:在Adapter中编写接口,在MainActivity中实现跳转


一:Adapter

定义一个接口

public interface OnItemClickListener {
        void onClick(View view,int position);
    }

定义一个方法

private OnItemClickListener mOnItemClickListener = null;
    public void setOnItemClickListener (OnItemClickListener listener) {
        this.mOnItemClickListener = listener;
    }

在OnBindView中给Item编写点击事件

        if (mOnItemClickListener != null){
            holder.newsItem.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    mOnItemClickListener.onClick(v,position);
                }
            });
        }

二:MainActivity

实现跳转

        NewsAdapter newsAdapter = new NewsAdapter(this,mNewsList);
        newsAdapter.setOnItemClickListener(new NewsAdapter.OnItemClickListener() {
            @Override
            public void onClick(View view, int position) {
                Intent intent = new Intent(MainActivity.this, NewsDetailActivity.class);
                Bundle bundle = new Bundle();
                bundle.putString("news_url",mNewsList.get(position).getNewsUrl());
                intent.putExtras(bundle);
                startActivity(intent);
            }
        });

猜你喜欢

转载自blog.csdn.net/zhong_ethan/article/details/79798172