CardViews中的Group RecyclerView项目

问题描述 投票:0回答:1

我出于练习目的制作了血压跟踪器,用户可以在其中存储他们的血压数据。我计划按天对值进行分组(因此,卡中包含一天的度量值)。我有一个RecyclerView设置,可以用种子数据填充它。我只是不知道如何在CardView中将它们分组。

Fragment我尝试过:

override fun onActivityCreated(savedInstanceState: Bundle?) {
        super.onActivityCreated(savedInstanceState)
        viewModel = ViewModelProviders.of(this).get(DataListViewModel::class.java)
        bpList = viewModel.data
        val bpAdapter = BpListAdapter(bpList)
        bpData.adapter = bpAdapter
        bpData.layoutManager = LinearLayoutManager(context)
        val dataByDay = bpList.groupBy { it.date.dayOfYear() }
        val inflater = LayoutInflater.from(context)

        for (k in dataByDay.keys) {
            var card = inflater.inflate(R.layout.bp_day_card, bpData, false);
            for (v in dataByDay[k]!!) {
                card.findViewById<CardView>(R.id.cw).addView(bpAdapter.itemViews[bpList.indexOf(v)])
            }
        }
    }

这导致IndexOutOfBoundsException

android kotlin android-recyclerview
1个回答
0
投票

您应该使用cardview作为容器布局来创建自定义项目视图布局,然后在适配器的onCreateViewHolder()中膨胀该布局,并在适配器的onBindViewHolder()中绑定各个字段数据。

© www.soinside.com 2019 - 2024. All rights reserved.