Android-具有各种动态内容的RecyclerView,每个项目各不相同

时间:2019-04-01 07:15:42

标签: java android android-recyclerview

我有一些来自rest api的json集合,它定义了各种参数类型,例如:

  • 具有值集合(字符串或具有某些字段的某些类对象)的旋转器
  • 具有日期值的日期时间字段
  • 文本编辑字段
  • 一组复选框(复选框由ID,名称-标题,状态选中/未选中定义)
  • 单选按钮集

每个参数也被命名。

我需要的是:可视化项目列表(每个项目都是上述类型的一个),让用户调整每个项目的值,检索集合(以相同的json格式),并将修改后的json发布到服务器。 / p> 我考虑过的

Firs方法是将控件动态添加到滚动视图内与项目类型相对应的布局中。但是我觉得这不是一个好方法,对于用户RecyclerView和自定义列表来说可能更好。

您对如何构建这样的列表有任何想法吗? Afaik Android RecyclerView假定每个列表项都具有相同的布局,是否可以得到我需要的东西?

1 个答案:

答案 0 :(得分:1)

这类似于我所做的工作。您需要创建不同的查看器,并根据集合中每个项目所需的输入类型来创建类型。

为了获取用户输入的最新值,请将它们存储在专用于json响应的模型类中,将它们映射并发送回服务器。

检查一下: https://guides.codepath.com/android/Heterogenous-Layouts-inside-RecyclerView

我曾经使用TextWatcher来拦截用户对edittext,对单选按钮的checkchangelistener,使用文本视图显示日期和时间的DateTimePicker所做的更改。

在edittext中使用textwatcher: How to get the Edit text position from Recycler View adapter using Text Watcher in android