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

如何添加动态视图到Android布局在回收人员视图适配器

潘涵煦
2023-03-14

在此处输入图像描述

我有一份父母名单,每个人都有零个或多个孩子,我用回收视图给父母看。我想向家长展示每个回收人员视图项目的标题,下面是向所有孩子展示向孩子展示的最好方式是什么?是否适合在列表视图中显示孩子,或者为每个孩子添加动态视图,如果是的话,如何做到这一点?我已经附上了布局的图像,请检查我的意思,谢谢

在此处输入图像描述

共有2个答案

简俊楚
2023-03-14

问题陈述

  • 您想要根据共享的屏幕截图动态添加孩子。

解决方案

所以在这里我可以看到两个回收视图,一个在另一个里面。第一个“回收者”视图适用于有2个项目的家长

  • 父母姓名

您需要做的是,您需要将更新后的项目列表传递给父级的回收视图适配器,该适配器将向儿童回收视图适配器发送更新后的项目列表,儿童回收视图适配器将使用扩散器检查任何更改,并将反映回收站视图中的变化。

凌恩
2023-03-14

我想,可能这个有用的bcz,在每个位置都有动态生成项目视图。

                LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getContext());
                linearLayoutManager.setOrientation(RecyclerView.HORIZONTAL);
                IAFTbind.rcvFilters.setLayoutManager(linearLayoutManager);
                IAFTbind.rcvFilters.setAdapter(new RecyclerView.Adapter() {
                    public int checkedPosition = 0;


                    @NonNull
                    @Override
                    public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
                        ImageView imageView = new ImageView(getContext());
                        imageView.setScaleX(.9f);
                        imageView.setScaleY(.9f);
                        imageView.setLayoutParams(new ViewGroup.LayoutParams(size, size));
                        return new RecyclerView.ViewHolder(imageView) {
                            @Override
                            public String toString() {
                                return super.toString();
                            }
                        };
                    }

                    @Override
                    public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
                        int p = holder.getAdapterPosition();

                        ((ImageView) holder.itemView).setBackground(new BitmapDrawable(getResources(), Bitmap.createScaledBitmap(fBits.get(p), size, size, false)));

//                        ((ImageView) holder.itemView).setBackground(new BitmapDrawable(getResources(), bitmaps.get(position)));

                        int cp = this.checkedPosition;

                        if (cp == -1) {
                            ((ImageView) holder.itemView).setImageResource(0);
                        } else if (cp == p) {
                            ((ImageView) holder.itemView).setImageResource(R.drawable.draw_tool_selecter_strock);
                        } else {
                            ((ImageView) holder.itemView).setImageResource(0);
                        }


                        holder.itemView.setOnClickListener(new View.OnClickListener() {
                            @Override
                            public void onClick(View v) {
                                ((ImageView) holder.itemView).setImageResource(R.drawable.draw_tool_selecter_strock);
                                checkedPosition = p;
                                notifyDataSetChanged();

                                changeBitmapEffect(p);
                            }
                        });
                    }

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

                });
 类似资料:
  • 英文原文:http://emberjs.com/guides/views/adding-layouts-to-views/ 视图可以拥有一个次模板来包裹其主模板。如同模板一样,布局是可以插入到视图标签下的Handlebars模板。 通过设置layoutName属性来配置视图的布局模板。 而布局模板通过Handlebars的{{yield}}助手来指定在哪里插入主模板。视图渲染后的template的

  • 我正在尝试在我的 上实现 ,但我没有得到任何结果。 我遵循了这个教程和这个技巧,但是没有人为我工作。 我已经实现了: 但它不让我编译,因为它们是不同的< code > viewmoder ,因为我创建了两个< code > viewmoder 类,但它们< code >扩展了Recycler。ViewHolder所以我不明白... 我正在尝试这样做,因为我有一个,我希望当列表为空时,它会显示一个,

  • 图像不显示。在一个SO例子中说要检查适配器中的计数,但我认为它是正确的。我在logcat中得到这个错误 这是代码主活动 这是我的适配器。

  • 我正在为Android编写一些应用程序,在构建项目的过程中,我出现了一个错误:E/RecyclerView:没有连接适配器;跳过布局。应用程序可以工作,但当我想启动这个特定片段(映射片段)时,它会崩溃或再次转到主活动。然而,问题只在于Android 9.0 Pie,而Android 8.0 Oreo没有问题 我尝试了很多东西,但我找不到根本原因,因为在我想要启动的片段上没有RecycleView,

  • 我有一个像相册这样的项目列表,我通过RecyclerView显示它。 此外,每个项目都有一个按钮,通过单击该按钮可以向服务器发送一些数据,然后滚动到列表中的下一个位置。 所以我的问题是: 如果调用了smoothScrollToPosition()方法,如何防止RecyclerView手动滚动(手势),但滚动到某个位置?

  • 我想添加一个headerview,当用户向下滚动时隐藏,当用户向上滚动时再次显示。 例子:https://imgur.com/a/tTq70B0 正如你在链接中看到的“你写的是……”pharase仅在用户滚动到顶部时显示。Android sdk中有类似的东西吗? 我怎样才能做到同样的事?