Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 程序不输入该方法_Android_Location_Overriding - Fatal编程技术网

Android 程序不输入该方法

Android 程序不输入该方法,android,location,overriding,Android,Location,Overriding,我有问题,我的项目中的getCloudDistance()方法从未被调用,当我使用断点调试我的项目时,到达这一行query.findInBackground(新的FindCallback(){),然后离开该方法并返回onLoccationChanged()方法!我能做些什么来解决这个问题 @Override public void onLocationChanged(Location location) { Location net_loc, gps_

我有问题,我的项目中的getCloudDistance()方法从未被调用,当我使用断点调试我的项目时,到达这一行
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
消息。