Beim Scrollen RecyclerView
die Daten innerhalb der TextView
ändert sich, obwohl die Daten im Array logtime.get(i).getTime()
nicht ändert.Es ändert sich nur, wenn wir die Daten in Textansicht platzieren, die dynamisch generiert.programmatisch Textansicht in Recyclerview onbindView Adapter
public void onBindViewHolder(PunchCardViewHolder holder, int position) {
PunchCardReport punchCardReport = punchCardReports.get(position);
holder.sNumber.setText(punchCardReport.getmSNumber());
holder.logDate.setText(punchCardReport.getmLogDate());
StringTokenizer stringTokenizer = new StringTokenizer(punchCardReport.getmLogTime(), ",");
List<LogTime> logtime = punchCardReport.getmLogTimeList();
for (int i = 0; i < logtime.size(); i++) {
Log.d(TAG, "onBindViewHolder: "+logtime.get(i).getTime());
}
LinearLayout.LayoutParams dim = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
for (int i = 0; i < logtime.size(); i++) {
TextView textView=new TextView(mContext);
textView.setLayoutParams(dim);
textView.setText(logtime.get(i).getTime());//the problem is here when we put data inside textview
holder.logTime.addView(textView);
}
}
@Override
public int getItemCount() {
return punchCardReports.size();
}
Vielen Dank..dies funktioniert ... –
Diese Lösung kann Speicherprobleme verursachen. Sie sollten XML für die Textansicht und andere Ansichten erstellen. Erstellen von View Inside OnBindViewHolder() wird nicht empfohlen. Wenn Sie wollen, gebe ich Ihnen einen Demo-Quellcode dafür. –