我实现了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;
}

最佳答案

请改使用holder.getAdapterPosition()。并将点击侦听器放在viewHolder中,而不是在BindViewHolder中。每当我们调用notifyDatasetChanged()以及向下滚动时,BindViewHolder都会调用。它会影响应用程序的性能。让我知道任何查询。祝一切顺利。

08-07 00:22