我实现了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都会调用。它会影响应用程序的性能。让我知道任何查询。祝一切顺利。