我像这样使用我的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;`
答案 0 :(得分:0)
我的猜测是你正在对话中进行所有录音工作,而且它没有关闭。 你这样做的正确方法是在你的活动或片段中添加一个NoticeDialogListener,然后在那里完成工作。