RecyclerView OnClick方法

时间:2017-06-12 14:01:01

标签: java android onclick android-recyclerview onclicklistener

我实施了RecyclerView List,每当我点击列表中的内容时,应用程序就会崩溃。

以下是代码:

public void onBindViewHolder(MyViewHolder holder, final int position) {
    holder.mTextView.setText(mDataset[position]);
    holder.mCardView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            final Intent intent;
            switch (getAdapterPostion()) {
                case 0:
                    intent =  new Intent(context, TestingActivity.class);
                    break;

                case 1:
                    intent =  new Intent(context, TestingActivity.class);

                    break;

                case 2:
                    intent =  new Intent(context, TestingActivity.class);
                    break;

                case 3:
                    intent =  new Intent(context, TestingActivity.class);
                    break;

                case 4:
                    intent =  new Intent(context, TestingActivity.class);
                    break;

                case 5:
                    intent =  new Intent(context, TestingActivity.class);
                    break;

                default:
                    intent =  new Intent(context, Timeline.class);
                    break;
            }
            context.startActivity(intent);
        }
    });
}

private int getAdapterPostion() {
    return 0;
}

1 个答案:

答案 0 :(得分:1)

使用holder.getAdapterPosition()代替。请将click监听器放在viewHolder中,而不是放在BindViewHolder中。每次调用时都会调用BindViewHolder,notifyDatasetChanged()以及向下滚动时调用。它会影响应用程序的性能。如有任何疑问,请告诉我。一切顺利。