Группировать элементы RecyclerView в CardViews - PullRequest
0 голосов
/ 08 октября 2019

Я делаю трекер артериального давления для практических целей, где пользователь может хранить свои данные артериального давления. Я планирую сгруппировать значения по дням (поэтому карта содержит измерения за день). У меня есть настройка 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.

1 Ответ

0 голосов
/ 09 октября 2019

Необходимо создать пользовательский макет представления элемента с представлением карт в качестве макета контейнера, а затем накачать макет в onCreateViewHolder () адаптера и связать данные соответствующих полей в onBindViewHolder () адаптера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...