Nested Recyclerview (Внутренний обзор повторного просмотра) Как оптимизировать? прокрутка, проблема с производительностью
Я боролся с этой проблемой [вложенного реселлера].
Самая большая проблема об этом - производительность.
Когда я прокручиваю вниз или вверх, возникают раздражающие лаги.
Я нашел несколько советов о том, что [использовать расширяемое представление переработчика, а не вложенное представление переработчика], но я не могу приспособить его к моему случаю.
Я прикреплю свою структуру и мой код.
Не могли бы вы проверить это и дать мне несколько хороших советов? Спасибо заранее.
- 1> Это моя структура элемента списка. Recyclerview с элементом CardView, и у каждого cardView есть элемент списка. его длина является переменной, поэтому я сделал это с помощью recyclerview.
- 2> Это мой код.
Код в ViewHolder
public static class ViewHolder extends RecyclerView.ViewHolder { ... ImageView issueImg; RecyclerView issue_poll_detail_list; ... RelativeLayout commentLayout; TextView commentTxt; ... public ViewHolder(View view) { super(view); issueImg = (ImageView) view.findViewById(R.id.issue_card_img); issue_poll_detail_list = (RecyclerView) view.findViewById(R.id.issue_poll_detail_list); issue_poll_detail_list.setNestedScrollingEnabled(false); issue_poll_detail_list.setHasFixedSize(true); issue_poll_detail_list.setFocusable(false); issue_poll_detail_list.setDescendant...(ViewGroup.FOCUS_BLOCK_DESCENDANTS); issue_poll_detail_list.setFocusableInTouchMode(false); ... commentLayout = (RelativeLayout) view.findViewById(R.id.issue_poll_footer_reply); commentTxt = (TextView) view.findViewById(R.id.issue_poll_footer_reply_txt); ...
& * Код в адаптере
holder.issue_poll_detail_list.setLayoutManager(new WrapContentLinearLayoutManager(context));
((SimpleItemAnimator) holder.issue_poll_detail_list.getItemAnimator()).setSupportsChangeAnimations(false);
pollAdapter = new PollAdapter(context, glideRequestManager, issuePolls.get(holder.getAdapterPosition()), issuePolls.get(holder.getAdapterPosition()).getNumAnswer(),
issuePolls.get(holder.getAdapterPosition()).getCalcStartTime(), issuePolls.get(holder.getAdapterPosition()).getCalcEndTime());
holder.issue_poll_detail_list.setAdapter(pollAdapter);
Спасибо!!!