0
我想從Android中的服務器加載對象。這個對象被加載到一個線程中。加載完成後,會調用_objectHandler以從對象中獲取一些鍵值,例如_filename鍵。每次檢索文件名時,我都想要顯示它。出於這個原因,我在第二個線程中循環加載對象的元素,並在每次加載值時調用一個_handler。我想得到的是所有的_filename值,但我得到的只是_fielName的最後一個值。我做錯了什麼?Android:處理程序不工作
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
}
};
使用[AsyncTask](http://developer.android.com/reference/android/os/AsyncTask.html) –