HashSet为空

时间:2015-03-28 09:54:43

标签: java android

为什么我的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对象。我不知道什么是错的。加上圆圈在我的地图上绘制

1 个答案:

答案 0 :(得分:2)

每次代码运行时,您都会创建一个新的 - 空 - 设置:

HashSet<Circle> circles = new HashSet<>();
if (!circles.isEmpty()) {
    // You'll never get in here...
}

如果您希望在通话中保持相同的设置,则需要将其作为字段,而不是本地变量。