我遇到了显示警告框的代码部分,要求用户输入数据集的名称。内部存储器中将创建一个具有相同名称的文件。警报对话框工作正常,但在SD卡中创建的文件始终为“null.txt
”。经过几个小时的搜索之后,我尝试了所有的解决方案,例如为警告框创建自定义布局,向edittext
等添加TextWatcher
,但没有任何帮助。当我手动将数据集名称分配给变量'Set'时,该文件被成功创建。因此,alertdialog
存在问题。我正在使用android studio 2.3.1。请帮助。Android警报对话框Edittext值不显示
我也在发布代码。
else if (map2.contains("1") || map2.contains("4")) {
final EditText edittext = new EditText(Scan.this);
AlertDialog.Builder alert1 = new AlertDialog.Builder(Scan.this);
alert1.setMessage("Name of the dataset");
alert1.setTitle("Enter Your Title");
alert1.setView(edittext);
alert1.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
String set = edittext.getText().toString();
Set = set;
}
});
alert1.setNegativeButton("Cancel", new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int whichButton) {
}
});
alert1.show();
}
myFile = new File(Environment.getExternalStorageDirectory(),Set+".txt");
if (!myFile.exists()) {
try {
myFile.createNewFile();
FileOutputStream fOut = new FileOutputStream(myFile);
OutputStreamWriter osw = new OutputStreamWriter(fOut);
osw.write(message1);
osw.flush();
osw.close();
fOut.close();
}
catch (Exception e) {
e.printStackTrace();
}
finally {
}
}
试过,但没有工作。 –
在你的'onClick'里面打印一个日志,看看你是否得到这个值... – rafsanahmad007
是的值被分配,但是在警报对话框可以传递值之前创建文件。 –