我有一个Overlay扩展,它有2个对话框作为私有属性 - 一个Dialog和一个ProgressDialog.单击MapView中的Overlay后,将出现Dialog对象.当用户单击对话框中的按钮时,它将消失并显示ProgressDialog.同时通过通知正在运行的服务来启动后台任务.任务完成后,将调用Overlay对象中的方法(buildingLoaded)以切换视图并关闭ProgressDialog.正在切换视图,正在运行代码(我使用调试器检查)但是ProgressDialog没有被解雇.我也试过hide()和cancel()方法,但没有任何效果.有人能帮助我吗?Android版本是2.2
这是代码:
public class LODOverlay extends Overlay implements OnClickListener {
private Dialog overlayDialog;
private ProgressDialog progressDialog;
..............
@Override
public void onClick(View view) {
.......
final Context ctx = view.getContext();
this.progressDialog = new ProgressDialog(ctx);
ListView lv = new ListView(ctx);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(ctx, R.layout.layerlist, names);
lv.setAdapter(adapter);
final LODOverlay obj = this;
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
String name = ((TextView) view).getText().toString();
Intent getFloorIntent = new Intent(Map.RENDERER);
getFloorIntent.putExtra("type", "onGetBuildingLayer");
getFloorIntent.putExtra("id", …Run Code Online (Sandbox Code Playgroud)