Закрыть AlertDialog.Builder из OnClick

Я пытаюсь сделать так, чтобы для пользователей появлялось диалоговое окно, в котором есть две кнопки в теле и кнопка отмены внизу. . Когда пользователь нажимает одну из двух кнопок, диалоговое окно исчезает, а нажатие кнопки «Отмена» просто отменяет выход из диалогового окна. Часть отмены работает нормально, но я не могу понять, как закрыть диалог вручную. Вот мой код:

public void onItemClick(AdapterView<?> parent, View view,
                    final int position, long id) {

                Context mContext = getApplicationContext();
                LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(LAYOUT_INFLATER_SERVICE);
                View layout = inflater.inflate(R.layout.config_dialog,
                        (ViewGroup) findViewById(R.id.config_dialog));

                Button connect = (Button) layout.findViewById(R.id.config_connect);
                Button delete = (Button) layout.findViewById(R.id.config_delete);

                alert = new AlertDialog.Builder(Configuration.this);
                alert.setTitle("Profile");

                connect.setOnClickListener(new View.OnClickListener() {

                    @Override
                    public void onClick(View v) {

                        trace("Connect" + Integer.toString(position));
                        toast("Connected");
                        SharedPreferences app_preferences = 
                                PreferenceManager.getDefaultSharedPreferences(Configuration.this);
                        SharedPreferences.Editor editor = app_preferences.edit();
                        editor.putString("IP", fetch.get(position).IP);
                        editor.commit();
                        //Add dismiss here


                    }

                });

                delete.setOnClickListener(new View.OnClickListener() {

                    public void onClick(View v) {

                        trace("Delete");

                    }

                });


                // Set layout 
                alert.setView(layout);

                alert.setNegativeButton("Close", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int whichButton) {
                        // Canceled.
                    }
                });

                alert.show();

Когда я пытаюсь добавить alert.dismiss (), Eclipse выдает ошибку. .dismiss () также не отображается в списке автозаполнения предупреждений.

9
задан trevor-e 26 July 2011 в 20:29
поделиться