Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在android中按多个属性排序多个列表_Android_Sorting_Android Fragments_Android Mvp - Fatal编程技术网

在android中按多个属性排序多个列表

在android中按多个属性排序多个列表,android,sorting,android-fragments,android-mvp,Android,Sorting,Android Fragments,Android Mvp,让我们直接跳到主题!事情是这样的: 我有一个使用mvp模式的android应用程序。有一个活动包含两个片段,这两个片段是选项卡,它们都是列表。两个片段共享同一个数据库交互器和一个ViewHolder。两个列表显示相同的内容,唯一的区别是第一个列表包含所有项目,第二个列表被过滤。筛选是在数据库交互器中完成的,因此片段呈现器查询数据库交互器以查找已筛选或未筛选的项目列表 在活动中,ActionBar上有一个菜单,我想用它对两个列表进行排序。活动什么都不做,它只是一个片段和动作条的容器 我真的很困惑。

让我们直接跳到主题!事情是这样的: 我有一个使用mvp模式的android应用程序。有一个活动包含两个片段,这两个片段是选项卡,它们都是列表。两个片段共享同一个数据库交互器和一个ViewHolder。两个列表显示相同的内容,唯一的区别是第一个列表包含所有项目,第二个列表被过滤。筛选是在数据库交互器中完成的,因此片段呈现器查询数据库交互器以查找已筛选或未筛选的项目列表

在活动中,ActionBar上有一个菜单,我想用它对两个列表进行排序。活动什么都不做,它只是一个片段和动作条的容器

我真的很困惑。如何告诉这两个片段对其项目进行排序?它应该是什么样子?我想把所有代码放在片段的演示者中不是一个好主意

另一件事是列表包含具有多个属性的对象,如: MyObject(日期、距离、名称),根据所选选项,我想按日期、距离或。。。等等


提前谢谢

一些关于如何提取数据的代码会很有用。这是从FireBase提取数据的最简单的代码。我假设您询问这个问题是因为您希望在从数据库获取数据时建议对数据进行排序,但我认为这不是一个非常优雅的解决方案。否则,请告诉我,你的想法是什么,这样我就可以发布正确数量的代码。在创建对firebase的查询时,有几种排序方法。取决于您实现适配器的方式,如果您选择在获取适配器后对其进行排序,则如果需要重新创建活动,则可能会出现混乱。因此,对于按多个参数排序,我使用了以下方法:为了告诉两个片段对其项进行排序,我调用了supportFragmentManager来调用片段的方法。在适配器中进行DB引用时,可以对数据进行排序。请参阅本页