我正在尝试从 Android 中的服务器加载对象。此对象在线程中加载。加载完成后,调用 _objectHandler 以从对象中获取一些键值,例如 _filename 键。每次检索文件名时,我都想显示它。出于这个原因,我在第二个线程中循环加载对象的元素,并在每次加载值时调用 _handler。我想要得到的是所有的_filename 值,但我得到的只是_filename 的最后一个值。我做错了什么?
ArrayList <myObject> object;
String filename;
Thread thread = new Thread (MyActivity.this);
thread.start();
public void run() {
Looper.prepare();
try {
object = getObjectFromServer();
} catch (Exception e) {
e.printStackTrace();
}
_objectHandler.sendEmptyMessage(0);
Looper.loop();
}
Handler _objectHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
for (int i = 0; i < object.size(); i++) {
myObject obj= object(i);
new Thread(new Runnable() {
public void run() {
filename= obj.getFileName();
Message msg = new Message();
_handler.sendEmptyMessage(0);
}
}).start();
}
}
};
Handler _handler = new Handler() {
@Override
public void handleMessage(Message msg) {
Log.i("The fielname is ", " filename" + filename
}
};