2011-02-09 92 views
1

我想不出一個適當的方式來等待對象出現。我正在寫一個相機應用程序。拍攝照片後,我將GPS數據寫入exif標籤。在寫之前,我必須等待位置對象出現。我的快速和骯髒的解決辦法是開始一個新的線程,並使用while循環「等待」對象:Android:等待對象出現

 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塊現在已經過時^^)

回答

0

你可以嘗試使用AsyncTask?

+0

嗯,我可以。但我不認爲我現有的方法有什麼優勢。我的「主要」問題就是如何定期檢查一個對象是否爲null。一個優勢可能是睡眠/等待while循環... – Redfox 2011-02-10 17:12:19