问题在于:
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对象发送的字符串矩阵呢?请不要建议我使用异步任务。
答案 0 :(得分:1)
我很愚蠢,只是将参数msg.obj强制转换为String [] []:
doUpdateUI((String[][]) msg.obj);