当我再次运行AlertDialog时它会关闭

时间:2016-04-11 16:13:55

标签: java android

我像这样使用我的AlertDialog,当我第二次运行时,它关闭了。我真的很新,我不知道是不是因为使用alertdialog在这里是错误的。 真的很期待答案。很多!!!

AlertDialog aler = null;
@Override
public void onClick(View v) {
    switch (v.getId()) {
    case R.id.start:

        aler=null;
        final EditText filename = new EditText(this);
        Builder alerBuidler = new Builder(this);
        alerBuidler
                .setTitle("enter the name")
                .setView(filename)
                .setPositiveButton("require",
                        new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog,
                                    int which) {
                                String text = filename.getText().toString();
                                try {
                                    paths = path
                                            + "/"
                                            + text
                                            + new SimpleDateFormat(
                                                    "yyyyMMddHHmmss").format(System
                                                    .currentTimeMillis())
                                            + ".amr";
                                    saveFilePath = new File(paths);
                                    myRecorder.setOutputFile(saveFilePath
                                            .getAbsolutePath());
                                    saveFilePath.createNewFile();
                                    myRecorder.prepare();
                                    // start recording
                                    myRecorder.start();
                                    start.setText("recording。。");
                                    start.setEnabled(false);
                                    aler.dismiss();

                                    // read files again
                                    File files = new File(path);
                                    listFile = files.list();
                                    // fresh ListView
                                    showRecord.notifyDataSetChanged();
                                } catch (Exception e) {
                                    e.printStackTrace();
                                }

                            }
                        });
        aler = alerBuidler.create();
        aler.setCanceledOnTouchOutside(false);
        aler.show();
        break;`

1 个答案:

答案 0 :(得分:0)

我的猜测是你正在对话中进行所有录音工作,而且它没有关闭。 你这样做的正确方法是在你的活动或片段中添加一个NoticeDialogListener,然后在那里完成工作。