【发布时间】:2014-10-15 09:03:19
【问题描述】:
这是我的第一个 Android 应用程序,我发现 while 循环有问题,我试图在我的 Android 应用程序上使用 while 循环,但应用程序冻结了。
我要做的是跟踪用户位置(使用 onlocationChanged)并继续查询该位置,直到查询返回结果。这是一个 GIS 应用程序,所以我将描述应用程序的行为: 应用程序使用侦听器“onLocationChangedListener”持续跟踪用户位置,并将其存储在变量“myPosition”中。我正在使用布尔值“noResults = true”。我将在 while 循环中使用方法“query(myPosition)”,该方法有一个回调,当找到结果时,将布尔值“noResults”更改为 false。循环将一直持续到“noResults”为假(这意味着查询的回调改变了布尔值)
,这就是我所做的:
while(noResults)
{
//myPosition keeps changing
query(myPosition);
//query has a callback that when a result is found it changes noResults to false
}
【问题讨论】:
-
在这里分享你的代码。
-
请在此处发布您的代码,当您的问题涉及技术问题时,请记住始终共享代码。
-
尝试在辅助线程中获取位置,而不是在主线程中
-
你把你的“while”放在哪里了?如果它在 onCreate 你阻塞了主线程!!!
-
请检查编辑
标签: android while-loop