java - UpdateHandler,只有当触发器为真时才做一件事,Android

标签 java android handler

我有一个处理程序,它每 5 秒在每次位置更新时接收一条消息。从位置我可以请求用户正在移动的当前城市。然后我想下载一些数据一次并且仅当城市发生变化时。我怎样才能意识到这一点?

Handler myViewUpdateHandler = new Handler(){

    public void handleMessage(Message msg) {
            switch (msg.what) {
            case UPDATE_LOCATION:
                mc.animateTo(geosenseo.getCurrentPoint());  
                mapView.invalidate();

                    //a async task sets the currentCity field   

               if(trigger && (currentCity != "")){
                   firstCity = currentCity;
                   trigger = false;
               }

               if((currentCity != "") && (firstCity != "")){
                   if(firstCity != currentCity){
                       //download only when city changes
                       trigger = true;
                   } 
               }

           }

            super.handleMessage(msg);
    }
};

如您所见,我玩过 vars。有任何想法吗?谢谢

最佳答案

这有助于...将字符串与 equals 和以下 if 语句进行比较

if(!currentCity.equals("")){
    if(!firstCity.equals(currentCity)){
      firstCity = currentCity;
    }
}

关于java - UpdateHandler,只有当触发器为真时才做一件事,Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3506616/

相关文章:

android - 多模块项目 : Which modules resources are used if not overwritten?

haskell - 'readFile'的异常处理

asp.net - 如何使用 asp.net 处理程序设置 html 正文背景图像?

java - 调用 ORB.string_to_object 时 ORB.getPresentationManager 中出现 NullPointerException

Java: toString 错误 "error: incompatible types: int cannot be converted to String"

java - 为什么类文件不包含足够的信息来提供 NPE 中为空的指针的名称?

java - 如何在 Java 中将 "Lorem 3 ipsum dolor sit amet"翻译成 SEO 友好的 "Lorem-3-ipsum-dolor-sit-amet"?

我键入时的android EditText格式

android - 在 android WebView 中读取安全 cookie

java - 如何从处理程序中删除未分配给变量的 Runnable