Android 程序不输入该方法
我有问题,我的项目中的getCloudDistance()方法从未被调用,当我使用断点调试我的项目时,到达这一行Android 程序不输入该方法,android,location,overriding,Android,Location,Overriding,我有问题,我的项目中的getCloudDistance()方法从未被调用,当我使用断点调试我的项目时,到达这一行query.findInBackground(新的FindCallback(){),然后离开该方法并返回onLoccationChanged()方法!我能做些什么来解决这个问题 @Override public void onLocationChanged(Location location) { Location net_loc, gps_
query.findInBackground(新的FindCallback(){
),然后离开该方法并返回onLoccationChanged()方法!我能做些什么来解决这个问题
@Override
public void onLocationChanged(Location location) {
Location net_loc, gps_loc;
gps_loc = location;
while (gps_loc != null) {
showCurrentLocation(gps_loc);
getCloudDistance(location) ;
}
public void getCloudDistance(final Location location) {
ParseQuery<ParseObject> query = ParseQuery.getQuery("ServerBumps");
query.findInBackground(new FindCallback<ParseObject>() {
// @Override
public void done(List<ParseObject> list, com.parse.ParseException e) {
if (e == null) {
for (int i = 0; i < list.size(); ++i) {
Location locationA = new Location("A");
locationA.setLatitude(location.getLatitude());
locationA.setLongitude(location.getLongitude());
/*Location locationA = new Location("A");
locationA.setLatitude(32.3109337);
locationA.setLongitude(35.0284839);
*/
Location locationB = new Location("B");
double lan= Double.parseDouble(list.get(i).getString("Lan"));
double lon=Double.parseDouble(list.get(i).getString("Lon"));
locationB.setLatitude(lan);
locationB.setLongitude(lon);
distance = locationA.distanceTo(locationB);
if (distance <= radius) {
Toast.makeText(MapsActivity.this, "Bump", Toast.LENGTH_LONG).show();
player.start();
}
}
}
}
});
}
@覆盖
已更改位置上的公共无效(位置){
定位网位置、gps位置;
gps_loc=位置;
while(gps_loc!=null){
显示当前位置(gps\U loc);
getCloudDistance(位置);
}
public void getCloudDistance(最终位置){
ParseQuery=ParseQuery.getQuery(“ServerBumps”);
findInBackground(新的FindCallback(){
//@覆盖
公共作废完成(列表,com.parse.ParseException e){
如果(e==null){
对于(int i=0;i 如果(distance)尝试将断点放在done(List List,com.parse.ParseException e)内i将断点放在done()内,但它不在这一行内,并保留getCloudDistance()方法,因为它是在后台进行的,可能需要时间才能到达done()
如果您唯一设置的断点位于done()
内,会发生什么情况?请退出此方法并转到showCurrentLocation(gps_loc);如果再次出现异常,请尝试在其他情况下记录e
消息(当e!=null
)。尝试在done()内放置断点(列表,com.parse.ParseException e)
我将断点放在done()内,但它不在这一行内,并离开getCloudDistance()方法因为它是在后台进行的,所以可能需要时间才能到达done()
如果您唯一设置的断点在done()内会发生什么情况?它离开此方法并转到showCurrentLocation(gps\u loc);可能还有一些异常,在其他情况下(当e!=null
时),尝试记录e
消息。