我实施了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;
}
答案 0 :(得分:1)
使用holder.getAdapterPosition()代替。请将click监听器放在viewHolder中,而不是放在BindViewHolder中。每次调用时都会调用BindViewHolder,notifyDatasetChanged()以及向下滚动时调用。它会影响应用程序的性能。如有任何疑问,请告诉我。一切顺利。