Я создаю пользовательский вид на Android. Мне нужно использовать его как элементы в списке.CustomView внутри RecyclerView
Мой заказ вид:
public class CustomView extends View{
int random;
//4 constructors;
public int getRandom() {
return random;
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
setMeasuredDimension(w, h);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawBitmap(b, 0,0,new Paint());
drawLetters(new Canvas(b));
}
private void init(){
drawingUtil = DrawingUtil.getInstance(getContext());
random = new Random().nextInt();
}
}
адаптер:
public class ListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
List<String> chapter = new ArrayList<>();
Context context;
LayoutInflater inflater;
public ListAdapter(List<String> chapter, Context context) {
this.chapter = chapter;
this.context = context;
this.inflater = LayoutInflater.from(context);
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = inflater.inflate(R.layout.item, null);
return new ChapterHolder(v);
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
((ChapterHolder) holder).setVerse(chapter.get(position), position);
Log.d(Constants.LOG_TAG, getClass().getSimpleName() + ": random " + ((ChapterHolder) holder).getRandom());
}
@Override
public int getItemCount() {
return chapter.size();
}
}
проблема заключается в том, что повторялся содержимое пользовательского вида. для проверки я записываю в журнал случайное число, сгенерированное в пользовательском классе вида. При прокрутке списка число повторяется, даже если я прокручиваю вниз. Что мне нужно сделать, чтобы каждый элемент не повторял содержимое?
Вы используете вид ресайклера и виды получают переработаны , Это задается как минимум 4 раза в день, см. Http://stackoverflow.com/q/36780828/1837367 или здесь также http://stackoverflow.com/q/36779656/1837367 –