如何使用回收器视图作为(选项卡布局)来使用用户信息更新片段布局

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

I want to achieve this

我的目标是,当用户单击该人时,将文本颜色更改为蓝色,它将显示个人信息,并且对于所有用户来说都是相同的。所以我尝试使用带有单个片段的回收器视图。

当用户单击 **按钮增量 ** 时,它将更新回收者视图中的人数。

当用户在不同的人之间切换时,我想显示该人的信息而不创建新的片段。

我尝试使用选项卡布局和视图分页器,但所有用户的布局都是相同的,所以我认为应该有更好的方法来解决这个问题。

我应该将 viewmodle 传递给我的适配器并观察按钮点击计数吗?

这个问题有3个主要问题。

  1. 我应该传递视图模型来更新回收器视图数据吗?
  2. 当点击不同的人时如何处理我应该创建新片段并再次应用数据还是应该使用单一视图模型来显示人员数据?
  3. 当用户单击增量按钮时如何手动单击以及如何将数据传回以更新回收器视图中的增量计数。

[实现此结果的图像

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

是的,一种简单的开始方法是将 1 个 viewModel 传递到适配器和片段中。

让我们从简单的开始,只用 3 个人的数据来让它工作。在你的视图模型中你应该有:

val person1 = mutableLiveData<Person>()
val person2 = mutableLiveData<Person>()
val person3 = mutableLiveData<Person>()

init {
    person1.value = Person()
    …
}

然后,如果将 viewModel 传递给适配器,您可以:

veiwModel.person1.observe { updatedPerson ->
    dataset.removeAt(0)
    dataset.addItemAtPosotion(updatedPerson, 0)
    [email protected](0)
}

在您的片段中,您可以类似地观察一条新的实时数据,调用fragmentPerson,并在该数据更改时重新初始化该片段。

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