我遇到了顯示警告框的代碼部分,要求用戶輸入數據集的名稱。內部存儲器中將創建一個具有相同名稱的文件。警報對話框工作正常,但在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
是的值被分配,但是在警報對話框可以傳遞值之前創建文件。 –