我试图按升序将数据集加载到列表中。我有DistanceObject
个对象及其如下所示,
DistanceObject mObject = new DistanceObject();
mObject.setOutletname(object.getString("LocationName"));
mObject.setAddress(object.getString("LocationAddress"));
mObject.setDistance(strdistance);
mListObjects.add(mObject);
将数据加载到listview
我可以使用下面显示的代码并将数据加载到listview而不对列表进行排序,
adapter = new CustomListOutlets(ActivityListOutlets.this,
mListObjects);
lv.setAdapter(adapter);
我的问题是我要对strdistance
进行排序并将数据加载到ListView
。我可以使用strdistance
对Collections.sort()
进行排序,但对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);