我是Android开发的新手,所以请光临我。 我有一个GPS类,它通过回调将当前GPS坐标返回到呼叫活动。
用户拍照或从库中选择一张,然后返回主活动。在他返回主活动后,我轮询gps类以获取位置数据。 一旦回调返回,它就会更新两个类属性,一个用于Lat,一个用于Lon。
有时需要几秒钟才能调用回调,我希望活动等待回调并向用户显示某种对话框。
目前我只是使用while循环来等待属性更新,但我确信有一个更优雅的解决方案。
谢谢!
答案 0 :(得分:3)
使用线程:
private ProgressDialog progressDialog;
protected void btnDoOperation_onClick() {
final Runnable r = new Runnable()
{
public void run()
{
doMyOperations();
}
};
progressDialog = ProgressDialog.show(this, "title","Please wait");
performOnBackgroundThread(r);
}
public static Thread performOnBackgroundThread(final Runnable runnable) {
final Thread t = new Thread() {
@Override
public void run() {
try {
runnable.run();
} finally {
}
}
};
t.start();
return t;
}
private void doMyOperations() {
// do every thing you like here ;)
this.runOnUiThread(new Runnable() {
public void run() {
progressDialog.dismiss();
}
});
}