Articles of 排序

通过拖放来订购recyclerview的元素

我正在开发一个Android应用程序,它是一个包含LinearLayout的Recyclerview,通过一系列自定义项目,你可以使用拖放来订购这些项目吗? 怎么样? 提前致谢。

如何在Android RecyclerView上对字符串进行排序?

我有一个充满CardViews的recyclerView,它有2个参数(两个都是字符串),其中一个是标题,我想有一个按钮按字母顺序对它们进行排序。 因为它没有太多的元素我决定使用插入排序是o(n ^ 2),这是我的实现: public void ISortDes(String[]strings){ int j; String key; int i; for (j = 1; j = 0) ; i–) { if (key.compareTo(strings[i]) > 0){ break; } strings[ i+1 ] = strings[ i ]; } strings[ i+1 ] = key; } for (int k = 0; k < strings.length; k++){ System.out.println(strings[k]); } } […]

Android – 是否可以使用Comparator.comparing而不是API <24上的自定义Comparators对列表进行排序?

我在我正在开发的应用程序中有一个RecyclerView,我可以填充各种项目并搜索/过滤/排序等等。 目前正在进行排序。 我有多个可以排序的标准,可以从下拉式微调器中选择。 在数据对象中排序的值包括字符串,整数和枚举,所有这些都很容易排序。 然而,虽然一些排序选项只需要一个标准,但有些标准需要二级或三级标准(在一些极少数情况下最多需要4个标准)。 为了有效地使用Collections.sort(List, Comparator) ,我必须编写相当多的自定义Comparators,所以我希望有一些方法可以避免这种情况。 事实certificate,Java 8有一个很好的解决方案: Comparator.comparing(…) ,它可以为您生成Comparators,并且可以通过Comparator.comparing().thenComparing().thenComparing()…无限期地扩展Comparator.comparing().thenComparing().thenComparing()… 它还有List myList.sort() ,我不确定与Collections.sort(myList)相比的效率,但它对我来说感觉更干净。 然后我调查了一下,想到了我的运气! Android已经支持许多Java 8function了一段时间了! 不幸的是,Android Studio告诉我,出于某种原因, Comparator.comparing()以及List::sort仅在API 24及更高版本上受支持。 这对我来说实际上不起作用,因为我正在研究的应用程序“需要”运行低至API 15-16。 然而,我觉得这很奇怪,因为我尝试过的其他Java 8特性(lambdaexpression式如(o1, o2) -> (o1.toString().compareTo(o2.toString())和方法引用如List::sort如上所述,只要你指定目标Java 8,就可以在我检查的范围内的所有API级别上正常工作。毕竟它是Java 8的东西,而不是Android的东西。 因此,考虑到所有这些,是否有一种方法可以使Comparator.comparing()和List::sort在API 24下工作? 我在谷歌的搜索中没有find任何东西,它们最终只是指向Android的Java 8“文档”或者指向Comparator和List的JavaDocs。 在Android的一个支持库(似乎不太可能)或第三方库/像Retrolambda这样的黑客中有什么东西 ?

对包含带数字的字符串的文件名数组进行排序

对于我的项目,我需要从FTP服务器下载一个zip文件,每年发布一次新的zip文件大约13次。 我需要按照服务器的命名约定下载最新文件: Prefix + release number (one or two digits) + year (two digits) + suffix + “.zip” 例如: ALFP1016F.zip 前缀将始终相同(ALFP),后缀为F或P(代表“完整”或“部分”;我只需要以后缀F结尾的文件)。 最重要的是,我需要忽略的目录中还有其他几个文件,因为它们有不同的前缀。 然后,我需要按照此优先级顺序获取数组中的最新文件: 最近一年。 当然’99不应该被视为最近的一年。 最新版本号 例如,如果我有这个文件名列表( 完整服务器目录 ): 1stpage712.pdf 1stpage914.pdf ALFP1015F.zip ALFP1015P.zip ALFP716F.zip ALFP716P.zip FSFP816F.zip FSFP816P.zip 我的预期产量是 ALFP716F.zip 因为16是最近一年,而7是该年度的最新版本号 。 这是我到目前为止所做的: //necessary imports import org.apache.commons.net.ftp.FTP; import org.apache.commons.net.ftp.FTPClient; import org.apache.commons.net.ftp.FTPFile; //initialize FTP client ftpClient = […]

按日期从sqlite按升序对列表进行排序

我有一个代码来检索这样的数据。 我想按升序获取日期记录。我尝试使用“KEY_DATE_TIME ASC”。 但它没有用。 public Cursor fetchAllReminders() { return mDb.query(DATABASE_TABLE, new String[] {KEY_ROWID, KEY_TITLE, KEY_BODY, KEY_PHONE,KEY_DATE_TIME}, null, null, null, null, null); }

如何通过最低数量/字符串android studio对recylerview进行排序

我在我的应用程序中有一个recylerview,它包含两个textview,一个是rankTextView,另一个是nameTextview。 像这样的东西; 我想要做的是对这个rec​​ylerview进行排序,首先是最低的数字顺序,如果有两个相同的数字,那么我希望它由字符串整理出来。 在上面的截图我有例如,两个人排名1,首先我希望recylerview将这些放在顶部,然后按字符串排序。 我在网上搜索过,看看我怎样才能做到这一点,但是对于android新手我还没有能够在我的项目中使用/调整结果。 例如; 如何在Android RecyclerView上对字符串进行排序? 什么是使用RecyclerView.Adapter的SortedList ? 我创建了一个自定义适配器,其中包含一个名为rankTextview的textview和另一个名为nameTextview的textview,就像这样; rankTextview = (TextView) itemView.findViewById(R.id.ranktextview); nameTextview = (TextView) itemView.findViewById(R.id.nametextview); 然后我有一个方法,将这些textview作为参数放入什么值,像这样; public addPerson(String rankTextview, String personTextview,) { this.rankTextview = rankTextview; this.personTextview = personTextview; } 然后我在我的主类中调用这个方法来添加数据,就像这样; person.add(new addPerson (“1\nrank”, “James Kub”)); person.add(new addPerson (“2\nrank”, “Peter Hanly”)); person.add(new addPerson (“3\nrank”, “Josh Penny”)); person.add(new addPerson (“1\nrank”, “Danny Jackson”)); person.add(new […]

Android如何排序JSONArray的JSONObjects

我制作了一个jsonobjects的jsonarray。 现在我需要根据jsonobjects中的值对JSONArray进行排序。 以前我对自定义对象的ArrayLists进行了排序,如下所示: 比较: public class KreeftenComparatorLA implements Comparator { public int compare(Kreeft left, Kreeft right) { return left.latijnseNaam.compareTo(right.latijnseNaam); } } public class KreeftenComparatorNL implements Comparator { public int compare(Kreeft left, Kreeft right) { return left.naam.compareTo(right.naam); } } 然后对arraylist进行排序: Collections.sort(db.lijst, new KreeftenComparatorLA()); 要么: Collections.sort(db.lijst, new KreeftenComparatorNL()); 但是当我像这样用JSONArray尝试同样的事情时(JA =我的jsonarray) Collections.sort(JA, new KreeftenComparatorNL()); Collections.sort给出错误: types集合中的方法sort(List,Comparator)不适用于参数(JSONArray,ThisActicity.KreeftenComparatorNL) 有人知道如何对JSONArray进行排序吗?

Android排序sqlite查询结果忽略大小写

只是想知道是否有一种方法来排序忽略大小写的查询结果。 当前以大写字母开头的字段被排序并放在列表顶部,并且以小写字母开头的字段也被排序,但是放在大写字母之后。 谢谢 – 迈克

对Map 的List进行排序

我有一个像这样创建的列表variables: List<Map> list = new ArrayList<Map>(); 在我的Android应用程序中,此列表已填充。 举个例子: Map map1 = new HashMap(); map.put(“name”, “Josh”); … Map map2 = new HashMap(); map.put(“name”, “Anna”); … Map map3 = new HashMap(); map.put(“name”, “Bernie”); … list.add(map1); list.add(map2); list.add(map3); 我使用list通过扩展BaseAdapter并实现各种方法在ListView显示结果。 我的问题:我需要根据地图的键名按字母顺序对list进行排序 问题:根据地图的键名 ,按字母顺序对list进行排序的简单方法是什么? 我似乎无法绕过这个。 我已将每个Map中的每个名称提取到一个String数组中,并对其进行排序( Arrays.sort(strArray); )。 但这并没有保留每个Map的其他数据,所以我不太确定如何保留其他映射值

Android中的Firebase数据描述排序

我将数据存储在Firebase存储中。 具有属性timestamp对象Comment 。 当我将数据从设备推送到Firebase时,我使用currentTime填充timestamp并以long数据types存储。 当我使用firebaseRef.orderByChild(“timestamp”).limitToLast(15)检索数据时firebaseRef.orderByChild(“timestamp”).limitToLast(15)结果没有按我的预期排序。 我甚至玩过规则而没有结果: { “rules”: { “.read”: true, “.write”: true, “.indexOn”: “streetrate”, “streetrate”: { “.indexOn”: “.value” } } } 我尝试在String数据types中存储timestamp ,同样的问题。