【发布时间】:2020-02-04 08:33:38
【问题描述】:
当我向下/向上滚动时,我的 recyclerview 数据发生了变化。 当我滚动布局时,它每次都会出现新值 我已经添加了这两种方法以及虚假可回收。但是,没有成功。
这是我的适配器的样子。
public class DetailListAdapter extends RecyclerView.Adapter<DetailListAdapter.ViewHolder> {
Context context;
ArrayList<KcResponse> kcList;
String birthDate; }
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.card_client_detail, parent, false);
DetailListAdapter.ViewHolder vh = new DetailListAdapter.ViewHolder(v);
return vh;
}
@Override
public void onBindViewHolder(@NonNull DetailListAdapter.ViewHolder holder, int position) {
holder.setIsRecyclable(false);
holder.periodTv.setText(kcList.get(position).getPeriod());
TextView textView1 = new TextView(context);
textView1.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT));
for (int i = 0; i < arr.length; i++) {
String line = arr[i];
SpannableString ss = new SpannableString(line);
ss.setSpan(new BulletSpan(bulletGap), 0, line.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
ssb.append(ss);
//avoid last "\n"
if (i + 1 < arr.length)
ssb.append("\n");
}
textView1.setTextSize(12);
textView1.setTextColor(ContextCompat.getColor(context, R.color.black_text));
textView1.setPadding(15, 0, 0, 0);
textView1.setText(ssb); // bullet text
holder.effectsLl.addView(textView1);
holder.periodTv.setBackgroundColor(Color.parseColor(kcList.get(position).getColor()));}
@Override
public int getItemCount() {
return kcList.size();
}
【问题讨论】:
-
请出示您的适配器文件
-
您遇到了什么问题? “recyclerview 数据已更改”不是一个有用的描述。
-
你在哪里更新你的
kcList -
删除这一行 @Override public int getItemViewType(int position) { return position; }
-
@silentsudo 试过但没有锻炼
标签: android android-recyclerview vertical-scrolling