上面String  为从服务端开线程获取数据,为什么还没等获取到就已经执行if了呢?怎么才能赋值给了s_time之后才做判断呢????

解决方案 »

  1.   

    因为获取数据是耗时的工作,所以你使用了线程,这样就不会阻塞UI线程了。也就是因为他比较耗时,所以数据还没取到就执行了下面的语句。
    至于该怎么做,就看你的线程是什么样的了。
    1,你可以把判断语句放到线程中,这样肯定是赋值之后才判断的。
    2,可以用handler,等获取数据之后发消息,再进行判断。
    以上仅供参考,根据你实际的代码结构来。
      

  2.   

    放到线程里用handler把。既然你是请求超时,也可以为他设置一个毫秒值,请求时间一过,就进行判断,如果是空,那么就是请求超时。这个符合你的error message的思路。
      

  3.   

    用Handler处理,在线程的run方法中执行完获取数据后发送handler消息,执行if判断。
      

  4.   

    一个不太好的办法,来一个循环,当string获取到值后跳出。
      

  5.   


    那就说明这个方法是异步的.最简单的就是在一个循环里面sleep个几秒在判断下....
      

  6.   

    说明getTimeMessage()这个函数是异步的 所以没执行完就到了if了呗