输出的是Log.v("线程没启动", "线程没启动");  这个,   新手求大家指点一下

解决方案 »

  1.   

    Thread th = new Thread(r);你这th不可能为空。
    下面的判断是多余的。
    你th.start() 现在就执行了,只是你的线程做了发送一个handler 消息而已。
      

  2.   

    Thread th = new Thread(r);
    th.start();
    if(th == null){
    Log.v("线程正在启动", "线程正在启动");
    th.start();
    }else{
    Log.v("线程没启动", "线程没启动");
    }你都给th,new了个线程 th当然不等于null啦
      

  3.   

    嗯  判断是多余的   但是线程还是没给handler 发送消息呢
      

  4.   

    Thread th = new Thread(r);
    th.start();
    //th!=null,下面的判断就有问题。顶多给上面两行代码加个try catch
      

  5.   

    @Override
    public void handMessage(Message msg)
    此方法需要重写
      

  6.   

    th.start();
    if(th == null){
    Log.v("线程正在启动", "线程正在启动");
    th.start();
    }else{
    Log.v("线程没启动", "线程没启动");
    }th.start();这句是多余的,如果你加这句,因为线程已经启动了,th是不为空的,自然就打印出线程没有启动的Log,实际上线程已经启动了。不知道你能明白否?