当前位置: 首页 > 知识库问答 >
问题:

回收人员查看项目不显示

钱欣然
2023-03-14

FolderListAdapter代码

public class FolderListAdapter extends RecyclerView.Adapter<FolderListAdapter.myViewHolder> {
    private final Context context;
    private final ArrayList<Folder> folderList;

    public FolderListAdapter(Context context, ArrayList<Folder> folderList) {
        this.context = context;
        this.folderList = folderList;
    }

    @NonNull
    @Override
    public myViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(context).inflate(R.layout.folder_view, parent, false);
        return new myViewHolder(view);
    }

    @Override
    public void onBindViewHolder(@NonNull myViewHolder holder, int position) {
        Folder folder = folderList.get(position);
        Glide.with(context).load(folder.getFolder()).into(holder.imageView);
        holder.folder_name.setText(folder.getFolder().getName());
        holder.folder_item_count.setText(folder.getFilesList().size() + " Items");
    }

    @Override
    public int getItemCount() {
        return folderList.size();
    }

    public class myViewHolder extends RecyclerView.ViewHolder {
        private final ShapeableImageView imageView;
        private final TextView folder_name;
        private final TextView folder_item_count;
        public myViewHolder(@NonNull View itemView) {
            super(itemView);

            imageView = itemView.findViewById(R.id.folder_image_view);
            folder_name = itemView.findViewById(R.id.folder_name_text_view);
            folder_item_count = itemView.findViewById(R.id.folder_items_count_text_view);
        }
    }
}

RecyclerView的Mainactive代码

FolderListAdapter adapter = new FolderListAdapter(this, folderList);

RecyclerView recyclerView = binding.folderRecyclerView;
recyclerView.setAdapter(adapter);

recyclerView.setLayoutManager(new GridLayoutManager(this, 2));

回收器视图的XML代码

<androidx.recyclerview.widget.RecyclerView
        android:id="@+id/folder_recyclerView"
        android:layout_width="0dp"
        android:layout_height="0dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
        app:spanCount="2"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        tools:listitem="@layout/folder_view" />

  • folderList的大小为2
  • 我还检查了适配器的大小。它也是2,我不知道我在哪里犯了错误,为什么它现在在活动中什么都没有显示

共有1个答案

施飞驰
2023-03-14

在xml中,将属性设置为android:layout\u width=“0dp”和android:layout\u height=“0dp”

在设置适配器之前,在您的主活动中,将代码集设置为布局管理器。代码是这样的:

//Defining RecyclerView and setting LayoutManager
RecyclerView recyclerView = binding.folderRecyclerView;
FolderListAdapter adapter = new FolderListAdapter(this, folderList);

//Setting up Adapter
recyclerView.setLayoutManager(new GridLayoutManager(this, 2));
recyclerView.setAdapter(adapter);

 类似资料:
  • 我需要制作一个可扩展的 ,每次点击只能打开一个项目(所有其他项目都必须关闭)。我知道有可能在的帮助下做到这一点,然后使用下一个代码: 但是有没有办法使用来做同样的事情?

  • 我正在尝试实现项的刷取。实施大多以此为基础。 背景: 当用户滑动视图时,视图被移动到正确的位置,但它不会消失。-好 然后:当用户点击(不是滑动)滑动的项目时,转义动画被触发(默认一个)。-好 为了更好地演示行为,我创建了一个GIF。 演示某人是否感兴趣的示例项目。

  • 这是我的应用,问题出在哪里 我希望我的物品能像这个应用一样合身 我正在使用带有的。我的问题是,当其中一个项目具有更长的文本时,您可以在图像中看到网格项的高度不相同。我正在从Firebase加载数据,并在列表具有数据时通知。我尝试了一切,但找不到一个解决方案来自动适应项目,如第二张图片所附。有什么帮助吗? 这是我的recyclerview项目布局

  • 我正在构建一个聊天应用程序,并使用 RecyclerView 呈现消息。由于这是一个聊天应用程序,最后的消息应显示在列表的底部。为了实现这一点,我通过以下方式使用LinearManager: 如果对话中有很多信息,它也能很好地工作。但是,如果用户之间只有一两条消息,RecyclerView会将它们显示在屏幕底部,并在它们上方留出空白。 在这种情况下,是否可以在屏幕顶部显示回收器项目?

  • 我想有一个固定行数的recyclerView,不可滚动,每行有一个固定的高度,以及填充所有屏幕。例如,我有4行,所以行高应该是recyclerView height/4。 行布局。xml 回收人员视图: java代码: 有什么想法吗?

  • 我想展开/折叠我的recyclerView项目,以显示更多信息。我想实现与SlideExpandableListView相同的效果。 基本上,在我的viewHolder中,我有一个不可见的视图,我想做一个平滑的展开/折叠动画,而不是将可见性设置为仅可见/消失。我一次只需要扩展一个项目,如果有一些提升来显示该项目已被选中,那就太酷了。 这与新的Android最近通话历史记录列表的效果相同。“回调”和