我有一个包含字符串数据的TableRow显示为分钟。 我想以编程方式对列数据进行排序/排序。 那可能吗?我真的需要这个功能
答案 0 :(得分:1)
您展示的图片看起来不像一个TableRow
;事实上,它看起来像10。
无论如何,您应该做的是保留一些与您的数据类型的列表,并保持其排序。一个简单的方法是保留一个表示你的分钟的整数列表(在这种情况下,76,84,46,68,8,9,78,78,68,46),然后对它进行排序。然后,您可以使用已排序的数据重新填充布局对象(无论它们是什么)。
ArrayList<Integer> minutes = new ArrayList<Integer>();
minutes.add(76);
minutes.add(84);
// ...
minutes.add(46);
Collections.sort(minutes);
然后,如果您已经设置了视图,则可以使用findViewById()
引用每个视图,并在其上调用setText()
以向其提供信息,或者根据数据创建视图:< / p>
ViewGroup group = ...; // Might be a TableRow, LinearLayout, whatever...
group.removeAllViews();
for (Integer i : minutes) {
// Create a new view
yourView.setText(i + "'"); // Put it in 0' format
group.addView(yourView);
}
然后,您的group
布局将包含一组代表您的minutes
数组的视图。
对于它的价值,最好在这里使用ListView
;这就是它的设计目标。