在主线程里定义一个handler;
 handler=new Handler(){ @Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
super.handleMessage(msg);
if(msg.what==0)
{
result=msg.getData().getInt("result");

}
}
    
    };
将handler通过参数传递到子线程在子线程的run方法里添加代码
Message msg=new Message();
msg.getData().putInt("result", result);
msg.what=0;
handler.sendMessage(msg);
//或者
//handler.post(){
    //对主线程里control的相关操作,
//}

解决方案 »

  1.   

    public static class MyHandler extends Handler {
    public final static int SCAN_OK = 0;

    WeakReference<Java03_Frame_Picture> mFrmPicture;
    MyHandler(Java03_Frame_Picture frmPicture) {
    mFrmPicture = new WeakReference<Java03_Frame_Picture>(frmPicture);
    } @Override
    public void handleMessage(Message msg) {
    super.handleMessage(msg);
    switch (msg.what) {
    case SCAN_OK: {
    Java03_Frame_Picture frmPicture = mFrmPicture.get();
    frmPicture.handleMessage(SCAN_OK);
    }
    break;
    }
    }
    }