【发布时间】:2015-05-11 09:34:13
【问题描述】:
我正在尝试按升序将一组数据加载到列表中。我有DistanceObject 对象及其如下所示,
DistanceObject mObject = new DistanceObject();
mObject.setOutletname(object.getString("LocationName"));
mObject.setAddress(object.getString("LocationAddress"));
mObject.setDistance(strdistance);
mListObjects.add(mObject);
将数据加载到列表视图
我可以使用下面显示的代码并将数据加载到列表视图而不对列表进行排序,
adapter = new CustomListOutlets(ActivityListOutlets.this,
mListObjects);
lv.setAdapter(adapter);
我的问题是我想对strdistance 进行排序并将数据加载到ListView。我可以使用Collections.sort() 对strdistance 进行排序,但是使用strdistance 的排序我想对其LocationName 和LocationAddress 进行排序。
任何帮助将不胜感激,提前致谢。
更新
final List<DistanceObject> mListObjects = new ArrayList<DistanceObject>();
DistanceObject mObject = new DistanceObject();
mObject.setOutletname(object.getString("LocationName"));
mObject.setAddress(object.getString("LocationAddress"));
mObject.setDistance(strdistance);
Collections.sort(mListObjects, new Comparator<DistanceObject>() {
public int compare(DistanceObject s1, DistanceObject s2) {
if (Integer.parseInt(s1.getDistance()) < Integer.parseInt(s2.getDistance()))
return 1;
if (Integer.parseInt(s1.getDistance()) > Integer.parseInt(s2.getDistance()))
return -1;
else
return 0;
}
});
}
lv = (ListView) findViewById(R.id.list_outlets);
lv.setTextFilterEnabled(true);
adapter = new CustomListOutlets(ActivityListOutlets.this,
mListObjects);
lv.setAdapter(adapter);
【问题讨论】:
标签: android sorting android-listview