2012-04-10 3 views
0

Hier ist das Problem:Android: zurück String Matrix von Message-Objekt

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-Warnungen, dass doUpdateUI (msg.obj) für die Argumente nicht anwendbar ist (Object).

Also wie kann ich die String-Matrix von Message-Objekt gesendet bekommen? Bitte schlage nicht vor, dass ich Async Task verwende.

Antwort

1

Ich bin dumm, nur werfen Argument msg.obj zu String [] []:

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