3

我一直在努力解决这个 [nested recyclerview] 问题。

最大的问题是性能。

当我向下或向上滚动时,会出现烦人的滞后现象。

我发现了一些建议 [使用可扩展的 recyclerview,而不是使用嵌套的 recyclerview] 但是,我无法将其调整为 mycase。

我会附上我的结构和我的一些代码。

你能检查一下并给我一些好的建议吗?提前谢谢。

  • 1> 这是我的列表项结构。带有 CardView 项的 Recyclerview,每个 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);

谢谢 !!!

4

0 回答 0