我无法想到等待对象出现的正确方法。我在写相机应用。拍照后,我将GPS数据写入exif标签。在写之前,我必须等待位置对象出现。我快速而又肮脏的解决方法是启动一个新线程,并使用while循环“等待”该对象:

      private static class MyRunnable implements Runnable {
         private final String imagePath;
         private final String thumbPath;
         MyRunnable(final String anImagePath, String aThumbPath) {
           this.imagePath = anImagePath;
           this.thumbPath = aThumbPath;
         }

         public void run() {
             while (mCurrentLocation == null) {
                 //do nothing
             }
             try {
             writeExifTags(imagePath);
             writeExifTags(thumbPath);
             }
             catch (NullPointerException e) {
                 Log.i(TAG, "NullPointerException");
             }
         }
      }


这有效,但是空的while循环看起来非常丑陋。我想到了某种对象的处理程序,但无法想到使用处理程序检查mCurrentLocation是否存在的方法。有人机智吗? :)(是,try / catch块现在已过时了^^)

最佳答案

您可以尝试使用AsyncTask吗?

09-25 21:44