如何为不同的 CardView 项目启动新的意图?

How to start new intent for different CardView items?

我有一个RecyclerView Adapter

public class CardViewDataMainAdapter extends RecyclerView.Adapter<CardViewDataMainAdapter.ViewHolder> {
        public String[] mColorData;

        public CardViewDataMainAdapter(String[] colorData) {
            mColorData = colorData;
        }

        @Override
        public CardViewDataMainAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
            View itemLayoutView = LayoutInflater.from(parent.getContext()).inflate(R.layout.cardview_row, null);
            ViewHolder viewHolder = new ViewHolder(itemLayoutView);
            return viewHolder;
        }

        @Override
        public void onBindViewHolder(ViewHolder viewHolder, int position) {

            viewHolder.card_text.setText(mColorData[position].toString());

        }

        @Override
        public int getItemCount() {
            return mColorData.length;
        }

        public static class ViewHolder extends RecyclerView.ViewHolder {

            public TextView card_text;

            public ViewHolder(View itemLayoutView) {
                super(itemLayoutView);
                card_text = (TextView) itemLayoutView.findViewById(R.id.info_text);
            }

            @Override
            public void onClick(View v) {
            }
        }
    }

我有一个 String Array 定义卡片的数据。 大约有 20 个卡片项目,我想开始新的 intents,它使用 if else 循环或 switch case 循环

为每个元素启动另一个 RecyclerView 活动

我已经尝试搜索如何为 RecyclerView 实施 OnClickListener,但每个解决方案要么对所有卡片项目启动相同的意图,要么给出一些或其他错误

如果需要,我可以 post 我的整个项目。

http://i.stack.imgur.com/POcqA.jpg

问得好。关注 this or this

基本上,您可以在 onCreateViewHolder() 中添加点击侦听器,并让您的适配器执行 OnClickListener,因此您只有一个 onClick(),其中您可以根据位置进行切换或 if()。