我创建了一种方法来检查用户位置是否靠近建筑物。
因此,我创建了以下方法
private void whereAreYou(final List<location> locations) {
loadingprogress.setVisibility(View.INVISIBLE);
for (int i = 0; i < this.cities.size(); i++) {
final location loc= locations.get(i);
Location loc1 = mLastLocation;
Location loc2 = new Location("");
loc2.setLatitude(loc.getLat());
loc2.setLongitude(loc.getLng());
float distanceInMeters = loc1.distanceTo(loc2);
int distanceInKm = (int) (distanceInMeters / 1000);
if (distanceInKm <= Integer.parseInt(currentclub.getRadius())) {
uploadInformationToUserProfile(loc.getName());
}
}
}
现在我必须检查一个值是否在if语句内,因为那必须调用另一个方法,但前提是所有值都不适合
答案 0 :(得分:2)
您可以添加最初设置为false的标志,并在if语句操作代码中将标志设置为true。在该部分代码之后,将其打印到控制台。
然后遍历适当的测试用例,并检查其是否为真。
答案 1 :(得分:1)
添加布尔值标志。
private void whereAreYou(final List<location> locations) {
loadingprogress.setVisibility(View.INVISIBLE);
boolean locationMatchFound = false; //boolean flag
for (int i = 0; i < this.cities.size(); i++) {
final location loc= locations.get(i);
Location loc1 = mLastLocation;
Location loc2 = new Location("");
loc2.setLatitude(loc.getLat());
loc2.setLongitude(loc.getLng());
float distanceInMeters = loc1.distanceTo(loc2);
int distanceInKm = (int) (distanceInMeters / 1000);
if (distanceInKm <= Integer.parseInt(currentclub.getRadius())) {
locationMatchFound = true; //boolean flag set to true if location found
uploadInformationToUserProfile(loc.getName());
}
}
if (!locationMatchFound){
//Call your other method.
}
}