我想不出一个等待对象出现的正确方法。我正在写一个相机应用程序。拍照后,我正在将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块现在已经过时了^^)
答案 0 :(得分:0)
您可以尝试使用AsyncTask吗?