¿Por qué mi aplicación solo funciona cuando asigno una cadena a la variable directamente en un código cuando uso la function OpenFileInput / Ouput?

Mi aplicación tiene una function que guarda los datos en el almacenamiento interno y recibe el nombre de un file del campo de text de edición. Este text de edición se completa con la function setText. Sin embargo, se bloquea cuando intenta abrir OpenFileOutput con el nombre que se adquirió del campo de text de edición que se "autocompletó".

Pero cuando asigno la misma cadena a la misma variable en el código (como eso: filename = "a" en vez de filename = smth.text.toString ()) funciona bien.

También traté de ver con la function tostada lo que obtiene del campo y obtuve lo que esperaba get, la cadena del campo que se autocompletó, por lo que funciona con otras funciones pero no con la function OpenFileOutput. Lo intenté todo y no tengo idea de qué puede causar el problema.

fun saveResults(view: View) { //Gets a string from a field with the .setText() function val showName = findViewById<EditText>(R.id.saveName) as EditText var filename: String = showName.text.toString() //If I assign any string here (filename = "John") it works //Date val getDate = Date() val stringDate: String = getDate.toString() val date = stringDate.split(" ") //Creates a string that will be saved ti internal storage and splitted in the future with the .split("_") function var string: String = aText + "_" + date[2] + "_" + date[1] + "_" + date[5] //Saves data to the internal storage var fos: FileOutputStream fos = openFileOutput(filename, Context.MODE_PRIVATE) fos.write(string.toByteArray(Charset.defaultCharset())) fos.close() //Shows a toast Toast.makeText(this, "Saved to $filename", Toast.LENGTH_SHORT).show()} 

PD. También intenté importar el nombre del almacenamiento interno pero el problema era idéntico. Soy un novato en Kotlin o Android. Gracias.