创建一个Handler函数以随机生成5个坐标

loading...


0

早上好,我需要帮助这个功能,我不明白处理程序是如何工作的 . 这是我目前的代码:

公共类GeneraMarker {

static LatLng GenPosition(Double Lat, Double Long) {
    final Handler gen = new Handler();
    Runnable gener = new Runnable() {
        @Override
        public void run() {

            if (counter) {
                  //Random coordinates generator
            } else {
                gen.removeCallbacks(null);
                gen.removeCallbacksAndMessages(null);

            }

            gen.postDelayed(this, 600000);

        }

    };
    gen.post(gener);


    return aPosition;
}

}

1回答

  • 0

    Handler 收到一个 Runnable 对象,以运行代码块 . 并且它的执行与方法执行是分开的 . 所以你必须创建一个监听器来监听你生成的 latlang 如下所示

    static void GenPosition(Double Lat, Double Long,ListenerClass listener) {
    final Handler gen = new Handler();
    Runnable gener = new Runnable() {
        @Override
        public void run() {
            if (counter) {
                  //Random coordinates generator
             listener.generatedLatLang(newLatLang);
            } else {
                gen.removeCallbacks(null);
                gen.removeCallbacksAndMessages(null);
    
            }
    
            gen.postDelayed(this, 600000);
    
        }
    
    };
    gen.post(gener);
    }
    
评论

loading...

暂时没有评论!