问题描述
我正在使用 Retrofit 并且我得到了没有任何问题的响应,我正在获取数据并且一切正常,但是我只需要获取带有 projectType == "FOLDER"
的项目,丢弃 projectType == "PROJECT"
的项目.
我该如何处理?我还想根据创建日期对它们进行排序。
interface ApiInterface {
@GET("projects")
fun getData(@Header("secretKey") apiKey : String): Call<ProjectList>}
示例输出:
{
"projects": [
{
"id": "00001","creation": 1611162020,"projectType": "FOLDER","name": "3 - Aufträge","archived": false
},{
"id": "00002","creation": 1611158408,"projectType": "PROJECT","name": "Unter",{
"creation": 122234,"name": "4 - Aus","id": "00003","archived": false
}]}
解决方法
您可以使用过滤功能轻松过滤您的项目,如下所示
pList.projects.filter{ it.projectType == "FOLDER" }
此外,如果您想根据属性对项目进行排序,您可以使用 sortedBy
和 sortedByDescending
,如下所示
val ans = pList.projects
.filter{ it.projectType == "FOLDER" }
.sortedBy { it.position.creation }
相反的顺序
val ans = pList.projects
.filter{ it.projectType == "FOLDER" }
.sortedByDescending { it.position.creation }