Android:从Message对象获取String矩阵

时间:2012-04-10 01:25:02

标签: android handler message

问题在于:

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对象发送的字符串矩阵呢?请不要建议我使用异步任务。

1 个答案:

答案 0 :(得分:1)

我很愚蠢,只是将参数msg.obj强制转换为String [] []:

doUpdateUI((String[][]) msg.obj);