为什么我的HashSet<Circle>
为空?
LatLng currentLocation = new LatLng(mCurrentLocation.getLatitude(),mCurrentLocation.getLongitude());
GoogleMap googleMap = mSupportMapFragment.getMap();
HashSet<Circle> circles = new HashSet<>();
if (!circles.isEmpty()) {
for (Circle circle : circles) {
Toast.makeText(getActivity(), "" + circles.size(), Toast.LENGTH_SHORT).show();
if (!circle.getCenter().equals(currentLocation)) {
circle.remove();
circles.remove(circle);
}
}
}
Log.d(TAG_MAP, "" + circles.isEmpty() + " " + circles.size());
Circle circle = googleMap.addCircle(new CircleOptions()
.radius(CONSTANT.RADIUS)
.strokeColor(Color.parseColor(CONSTANT.RADIUS_COLOR))
.strokeWidth(CONSTANT.RADIUS_BORDER)
.center(currentLocation));
circles.add(circle);
我的意思是我甚至添加了一个Circle
对象。我不知道什么是错的。加上圆圈在我的地图上绘制
答案 0 :(得分:2)
每次代码运行时,您都会创建一个新的 - 空 - 设置:
HashSet<Circle> circles = new HashSet<>();
if (!circles.isEmpty()) {
// You'll never get in here...
}
如果您希望在通话中保持相同的设置,则需要将其作为字段,而不是本地变量。