猿问

Android中线程的问题!很急T T

//停车场数据导入
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!!!!

NLPLearner
浏览 1000回答 0
0回答
随时随地看视频慕课网APP

相关分类

Java
Android
我要回答