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



我有一个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,但每个解决方案要么对所有卡项目启动相同的意图,要么给出一些或其他错误

如果需要,我可以发布我的整个项目

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

好问题。遵循这个或这个。

基本上,你可以在onCreateViewHolder()中添加click监听器,并让你的适配器imeplemt OnClickListener,这样你就有了一个onClick(),其中你可以根据位置有一个开关或if()。

相关内容

最新更新