//停车场数据导入
public void initParkingLot() {
parkingLotList.clear();//先清空list内数据
mThread = new MyThread();
mThread.start();
mHandler = new Handler() {
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what) {
case 1://msg的what判断是哪个bundle的请求
//创建停车场实例
parkingLotList.add(new ParkingLot(msg.getData().getInt("ID"), msg.getData().getString("state"),
msg.getData().getString("name"), msg.getData().getDouble("latitude"),
msg.getData().getDouble("longitude"), msg.getData().getInt("sum"),
msg.getData().getInt("yt"), msg.getData().getInt("kt"), msg.getData().getDouble("price"),
msg.getData().getDouble("level")));
//测算出每个停车场距离目前的距离,动态更新ParkingLot的distance成员
LatLng curLatLng = new LatLng(curLatitude, curLongitude);
LatLng desLatLng = new LatLng(parkingLotList.get(parkingLotList.size() - 1).getLatitude(),
parkingLotList.get(parkingLotList.size() - 1).getLongitude());
//调用距离测算函数(修改整个List中刚加进来的对象的distance属性)
parkingLotList.get(parkingLotList.size() - 1).distance =
(int) AMapUtils.calculateLineDistance(curLatLng, desLatLng);
//排序
Collections.sort(parkingLotList);
//适配器的设置
ParkingLotAdapter adapter = new ParkingLotAdapter(
ParkActivity.this, R.layout.parkinglot_item, parkingLotList);
ListView listView = (ListView) findViewById(R.id.list_view);
listView.setAdapter(adapter);
//测试,输出size
System.out.println(parkingLotList.size());
break;
default:
break;
}
}
};
}这段代码是将数据库的停车场数据导入parkingLotList(List类型)中,然而是同伴写的代码,我也不太懂这两个线程啥关系,执行完这个函数以后,parkingLotList的size竟然是0!这是为什么!而且在这个函数中测试的时候size是对的,不知道为什么执行完函数以后size就变成0了!求懂的人解答!!T T!!!!
添加回答
举报
0/150
提交
取消