这是问题所在:
private void doSomething() {
String[][] data = new String[h][w];
Message msg = null;
Thread t = new Thread() {
public void run() {
for(int i=0; i<max; i++) {
data = doLongCalculationOnBackground(i);
msg = messageHandler.obtainMessage();
msg.obj = data;
messageHandler.sendMessage(msg);
}
}
};
t.start();
}
private Handler messageHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
doUpdateUI(msg.obj); // error right here!!!
}
};
private doUpdateUI(String[][] data) {
// do update UI work.
}
Eclipse 警告 doUpdateUI(msg.obj) 不适用于参数 (Object)。
那么如何获取 Message 对象发送的字符串矩阵呢?请不要建议我使用异步任务。