猿问

按文本视图的长度对回收站视图进行排序

我正在寻找以下问题的解决方案。

我有包含几个文本视图的回收器视图,我需要按其中一个文本视图的长度对其进行排序。最短的长度应该是第一位的。我试图找到一些类似的问题,但我找不到任何问题。

有没有人有一些最佳的方法来做到这一点?


明月笑刀无情
浏览 128回答 2
2回答

墨色风雨

您将List使用Comparator对您的进行排序。下面是方法。adapter.setList(Collections.sort(adapter.getList(), new LengthComparator()););adapter.notifyDataSetChanged();长度比较器.javapublic class LengthComparator implements Comparator<String> {&nbsp; &nbsp; @Override&nbsp; &nbsp; public int compare(String s1, String s2) {&nbsp; &nbsp; &nbsp; &nbsp; return s1.length() - s2.length();&nbsp; &nbsp; }}

梵蒂冈之花

对于在Kotlin 中寻找答案的任何人, 您的列表应该用于绑定您的 ViewHolder(也在 Java 中)&nbsp;inner class ViewHolder(var binding: ViewDataBinding) : RecyclerView.ViewHolder(binding.root)&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; fun bind(step : Steps, handler: ItemClickHandler)&nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; list?.sortedBy { steps -> itemView.title.length() }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; binding.setVariable(BR.steps,step)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; binding.executePendingBindings()&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }它对我有用
随时随地看视频慕课网APP

相关分类

Java
我要回答