我知道有成千上万这样的问题。但我找不到我的解释。
我使用 onLocationChanged 方法来更新用户在 mapView 上的位置。一切安好; 我在 onCreate 方法中显示一个 ProgressDialog 并在 OnlocationChanged 结束时将其关闭,它可以工作。
问题是当我在 onLocationChanged 方法中创建并显示一个进度对话框时。不知何故,它不起作用。我认为这是因为该方法在不同的线程上运行。
但我的问题是,如果 onLocationChanged 方法在不同的线程上运行,为什么它让我关闭对话框但不创建新的?
这是我的课的一部分:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tiendas);
mapView = (MapView) findViewById(R.id.mapview);
mapView.setBuiltInZoomControls(true);
mapView.setSatellite(false);
ProgressDialog dialog = ProgressDialog.show(StoresActivity.this, "",
"Getting your location", true, true);
public void onLocationChanged(Location location) {
// TODO Auto-generated method stub
/////if i show or initialize the dialog here, doesn't work!
updateMap(location) // this function calls asynctask
// for an HTTPrequest
dialog.dismiss();
}
}
该代码可以正常工作并正确关闭对话框,但如果我在 onLocationChanged 方法中声明或显示对话框,它永远不会显示。有人吗?为什么它会忽略它但不能显示它?