gpt4 book ai didi

java - 带有 Room 和 LiveData 的 MVVM - 如何从 LiveData 获取列表

转载 作者:行者123 更新时间:2023-12-01 18:13:18 25 4
gpt4 key购买 nike

我正在创建一个 TODO 列表应用程序,用户可以在其中添加要执行的任务。任务有几类。我有以下情况:

        viewModelMainActivity = new ViewModelProvider(this).get(ViewModelMainActivity.class);
viewModelMainActivity.getAllJob().observe(this, new Observer<List<Task>>() {
@Override
public void onChanged(List<Task> tasks) {

if(tasks.size() == 0) {

linearLayoutActivityMain.setVisibility(View.VISIBLE);

} else {

linearLayoutActivityMain.setVisibility(View.INVISIBLE);
}

taskAdapter.setTasks(tasks);
}
});

我从工作类别和其他类别中获取任务列表。感谢 ViewModel 中的 LiveData,当添加或删除任务时,列表将会更新。

此外,我还有一个微调器,允许您选择任务类别以显示所选类别中的任务。

@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {

switch (position) {

//How to get a List?
case 0:
Toast.makeText(this, "0", Toast.LENGTH_SHORT).show();
break;
case 1:
Toast.makeText(this, "1", Toast.LENGTH_SHORT).show();
break;
case 2:
Toast.makeText(this, "2", Toast.LENGTH_SHORT).show();
break;

}
}

由于ViewModel中的数据类型是LiveData,并且只有List<形式的数据,如何显示选定类别的任务列表是在onChanged()方法中获取的?

最佳答案

看看你的 ViewModel 会很好,但据我了解,你在 viewmodel 中输入的只是 liveData。

在您的 ViewModel 中,您可以将其他类型设置为 liveData

例如:

String toto = LiveData<String>()

关于java - 带有 Room 和 LiveData 的 MVVM - 如何从 LiveData 获取列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60421052/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com