当前位置: 代码迷 >> Android >> 获取数据,线程有关问题!
  详细解决方案

获取数据,线程有关问题!

热度:44   发布时间:2016-05-01 10:36:49.0
获取数据,线程问题!!!
上面String  为从服务端开线程获取数据,为什么还没等获取到就已经执行if了呢?怎么才能赋值给了s_time之后才做判断呢????

------解决方案--------------------
因为获取数据是耗时的工作,所以你使用了线程,这样就不会阻塞UI线程了。也就是因为他比较耗时,所以数据还没取到就执行了下面的语句。
至于该怎么做,就看你的线程是什么样的了。
1,你可以把判断语句放到线程中,这样肯定是赋值之后才判断的。
2,可以用handler,等获取数据之后发消息,再进行判断。
以上仅供参考,根据你实际的代码结构来。
------解决方案--------------------
放到线程里用handler把。既然你是请求超时,也可以为他设置一个毫秒值,请求时间一过,就进行判断,如果是空,那么就是请求超时。这个符合你的error message的思路。
------解决方案--------------------
用Handler处理,在线程的run方法中执行完获取数据后发送handler消息,执行if判断。
------解决方案--------------------
引用:
上面String  为从服务端开线程获取数据,为什么还没等获取到就已经执行if了呢?怎么才能赋值给了s_time之后才做判断呢????


那就说明这个方法是异步的.最简单的就是在一个循环里面sleep个几秒在判断下....
------解决方案--------------------
说明getTimeMessage()这个函数是异步的 所以没执行完就到了if了呗
  相关解决方案