本帖最后由 u010445247 于 2014-07-28 16:33:15 编辑

解决方案 »

  1.   

    首先,你这个输出null是因为你执行输出的时候,xml的值是null,到handler后,xml才赋值,所以输出就是有内容了
      

  2.   

    那怎样做才能使得在Handler外输出也是有内容的?或者说,怎样做才能使得先经过Handler再输出?
      

  3.   

    这个顺序问题还是耗时问题?我明明先执行了Handler再执行输出语句的吧?
      

  4.   


    你另外定义个方法 来输出,然后再handler里,给xml赋值后,调用这个方法就可以了
      

  5.   


    你是起来个线程执行,只是start线程而已,后面继续执行下去。你先去了解线程吧
      

  6.   


    你另外定义个方法 来输出,然后再handler里,给xml赋值后,调用这个方法就可以了另外定义个方法。。方法里边直接一句System.out,println(xml);行么??或者能不能简单写个代码?其实我是要用这个xml来解析的,但又不想在线程里或者Handler里解析
      

  7.   


    你另外定义个方法 来输出,然后再handler里,给xml赋值后,调用这个方法就可以了另外定义个方法。。方法里边直接一句System.out,println(xml);行么??或者能不能简单写个代码?其实我是要用这个xml来解析的,但又不想在线程里或者Handler里解析可以的
      

  8.   


    你另外定义个方法 来输出,然后再handler里,给xml赋值后,调用这个方法就可以了另外定义个方法。。方法里边直接一句System.out,println(xml);行么??或者能不能简单写个代码?其实我是要用这个xml来解析的,但又不想在线程里或者Handler里解析可以的public void printout(String str){
    System.out.println(str);
    }我这样定义了一个方法,然后在Handler外调用这个方法,即
    printout("-->".concat(xml));结果出现空指针错误。。求解。。
      

  9.   


    你另外定义个方法 来输出,然后再handler里,给xml赋值后,调用这个方法就可以了另外定义个方法。。方法里边直接一句System.out,println(xml);行么??或者能不能简单写个代码?其实我是要用这个xml来解析的,但又不想在线程里或者Handler里解析可以的刚才那个空指针错误应该是concat的问题,用+号后没有报错了,但是输出仍然是null啊。。
      

  10.   

    new Thread(new HttpThread()).start();
                    httpHandler = new Handler(){
                        @Override
                        public void handleMessage(Message msg) {
                            // TODO Auto-generated method stub
                            super.handleMessage(msg);
                            xml = (String)msg.obj;
                            System.out.println(xml);
                            printout("-->".concat(xml));
                        };
                    };
      

  11.   

    写在里边那也不是在Handler外边输出诶。
      

  12.   


    那你只能取消线程,全部都是一步步执行下来了好吧,结贴吧。。但是http必须要在非UI线程里执行。。
      

  13.   


    那你只能取消线程,全部都是一步步执行下来了好吧,结贴吧。。但是http必须要在非UI线程里执行。。我觉得你还是得去了解线程啊,你都不了解线程,你这个数据什么时候才取出来,才能使用这个数据你都不知道啊