2015年10月27日 星期二

Handler, Message - sending messages to different threads

public Handler messageHandler = new Handler() {
    @Override    public void handleMessage(Message msg) {
        Log.i("arrive", msg.arg1 + " <<< msg.what == 0");        
        long runTime = System.currentTimeMillis() - startTime;        
        numOfHorsesArrived++;         
        textView[msg.arg1].setText(String.format(" %d \n%d.%03d (sec.)", numOfHorsesArrived, runTime/1000, runTime%1000));
        if(numOfHorsesArrived >= numOfHorses)
        {
            ready.setEnabled(true);            
            Log.i("arrive", "ready.setEnabled(true);");        
        }
    }
};


Message m = handler.obtainMessage();

m.what selected_opt;
m.arg1 = x_pos;
m.arg2 = y_pos;
handler.sendMessage(m);