两个请求都完成后,再发送message

解决方案 »

  1.   

    你是说把两次请求放到一个Message里?
      

  2.   

    execute()函数有局限性。
    executeOnExecutor()调用者可以自己创建线程池,让提交的任务,立刻在自己的线程池中执行,而不用提交到系统的线程池中去。
    会不会是在排队中...?
      

  3.   

    把你发送的message贴出来看看呗
      

  4.   

    问题解决了,消息在页面是可以重复接收来自不同的服务器的(只要能正确发送出去)。
    发送消息写在线程里就可以执行:
    //制作数据
    data = new ArrayList<List>();
    data.add(groupArray);
    data.add(childArray);
    new Thread() {
    public void run() {
    try {
    Message msg = downhandler.obtainMessage();
    msg.what = DOWN;
    msg.obj = data;
    downhandler.sendMessage(msg); } catch (Exception e) {
    e.printStackTrace();
    }
    ;
    };
    }.start();
    /* new Thread() {
    public void run() {
    try {
    downhandler = new Handler() {
    @Override
    public void handleMessage(Message msg) {
    Message msg = downhandler.obtainMessage();
    msg.what = DOWN;
    msg.obj = data;
    downhandler.sendMessage(msg);
    }
    super.handleMessage(msg);

    } catch (Exception e) {
    e.printStackTrace();
    }
    }.start();*/
    注释是错误的代码,不能发送消息。而且我的这个是写在另外一个类里,所以与直接写在页面里的发送有区别。
    这里的handler对象是传递过来的。网络操作写在里面就可以执行了。