函数运行两次无法找出原因

时间:2019-04-01 00:41:54

标签: java android

我正在调用一个函数,它进入,运行它,然后再次调用它,不知道为什么,可能会说它与线程相关

这是我调用markerSettings函数的地方

  new Handler(Looper.getMainLooper()).post(new Runnable () {
      @Override
      public void run () {
          MapsActivity.markerSettings(38.707925, -9.153079, "Almeida", "Working");
      }
  });

这是我的makerSettings函数,该函数运行两次

public static void markerSettings (double lat, double lng, String name, String description){

    Marker almeida = (Marker) mMap.addMarker(new MarkerOptions().position(new LatLng(lat, lng)).title(name).snippet(description));
    almeida.setVisible(false);
    markerList.add(almeida);

    mMap.setOnCameraChangeListener(new
        GoogleMap.OnCameraChangeListener() {
            @Override
            public void onCameraChange(CameraPosition cameraPosition) {
                for(Marker m:markerList){
                    m.setVisible(cameraPosition.zoom>15);
                    //8 here is your zoom level, you can set it as your need.
                }
            }
    });
};

markerSettings应该只运行一次,任何想法为什么会发生以及如何解决?

2 个答案:

答案 0 :(得分:0)

我认为这取决于您将新处理程序方法放在何处

答案 1 :(得分:0)

我好笨。连续工作太多时间的问题,我有一个for(应该运行两次),其中包括运行xD两次的东西)