我该怎么解雇对话?

时间:2010-08-05 02:49:50

标签: android

                AlertDialog.Builder fpdialog = new AlertDialog.Builder(context);
                ListView fpathlist = new ListView(context);
                ArrayAdapter<String> adapter = new ArrayAdapter<String>(context,android.R.layout.simple_expandable_list_item_1, fpathdata());
                OnItemClickListener listener = new OnItemClickListener() {

                    public void onItemClick(AdapterView<?> parent, View view,
                            final int position, long arg3) {
                        // TODO Auto-generated method stub
                        for (int i=0;i<=position;i++)
                        {
                            if (i==position)
                            {
                                CharSequence[] pathString = {"在地图显示","发短信","共享","删除"};
                                final AlertDialog.Builder pathlist = new AlertDialog.Builder(context);
                                pathlist.setTitle("路线收藏");
                                pathlist.setItems(pathString, new DialogInterface.OnClickListener() {

                                    public void onClick(DialogInterface dialog, int which) {
     //Here I want to dismiss the fpdialog                                  
                                    }});
                                pathlist.show();
                            }
                        }
                    }
                };
                fpathlist.setOnItemClickListener(listener);
                fpathlist.setAdapter(adapter);
                fpdialog.setView(fpathlist);
                fpdialog.show();

2 个答案:

答案 0 :(得分:2)

当您准备关闭对话框时,可以通过在Dialog对象上调用 dismiss() 来解除对话。如有必要,您还可以从活动中调用 dismissDialog(int) ,有效地为您调用Dialog上的dismiss()。

如果使用onCreateDialog(int)来管理对话框的状态,则每次关闭对话框时,Activity都会保留Dialog对象的状态。如果您决定不再需要此对象,或者清除状态非常重要,那么您应该拨打 removeDialog(int) 。这将删除对象的任何内部引用,如果对话框显示,它将忽略它。

要关闭ProgressDialog,请使用ProgressDialogName.dismiss().

例如的 Mydialog.dismiss()

有关详细信息,请参阅 Android-SDK

看看这个 example

答案 1 :(得分:1)

如果您只想在按下按钮时关闭对话框,请在onClick()方法中调用dialog.dismiss()。