【问题标题】:How to tile single elements in recylerview when adding one at a time?一次添加一个元素时如何在recyclerview中平铺单个元素?
【发布时间】:2020-01-13 19:07:23
【问题描述】:

所以这可能是一个我不知道答案的简单答案。

我在 recylerview 上方有一个添加按钮。当按下添加按钮时,它会将 1 个 Editview 添加到 recyclerview,然后将焦点放在 editview 上,以便可以添加信息。

这很好用,正如预期的那样,但是当您再次单击添加按钮时,它会执行相同的操作,只是将其添加到前一个按钮的下方。我想要的是 EditView 并排排列,连续不超过 2 个。

我当前的 xml 文件是卡片视图内的约束视图。也许它应该是一个网格视图而不是一个卡片视图,然后做一个 mod 来查看有多少项目并在每次按下添加按钮时重做布局?

这是解决方案还是有更好的方法?

【问题讨论】:

  • “并排”是什么意思?在同一个项目视图或新项目中并排?还有一个建议,不要从 ConstraintLayout 开始,先用 Relative/Linear/Frame..Layout 来适应。
  • 并排表示一行中的 2 个项目。而且我并没有从约束布局开始。我从 LinearLayout 开始,然后是约束布局。但是我确实用 recyclerView.setLayoutManager(new GridLayoutManager(this, numberOfColumns)); 解决了这个问题

标签: android android-recyclerview android-xml android-cardview


【解决方案1】:

以下代码解决了这个问题。我从 xml 中删除了 cardview 并将其替换为 LinearLayout 并在 LinearLayout 中使用了 constraintLayout。

然后在 MainActivity 中使用以下内容创建网格布局。要并排获得 2 个项目,请将变量 numberOfColumns 设置为 2。 recyclerView.setLayoutManager(new GridLayoutManager(this, numberOfColumns));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-15
    • 2017-08-30
    • 1970-01-01
    • 2016-08-28
    • 1970-01-01
    相关资源
    最近更新 更多