Ни один из контекстов Toast.makeText не подходит
Код ниже. Задача - вывести путь к файлу + само имя файла во всплывающем тексте. Так-то я это сам всё указал, но надо именно получить и вывести (делаю под Android в Android Studio). С обычным текстом всё работает, но при попытке добавить собственно считывание текста и имя файла я получаю ошибку this' cannot be referenced from a static context при использовании контекста this, а при любом другом контексте вроде Application(), Service() и т. д. на выходе ошибка Cannot resolve method 'контекст' in 'FileTest'. Какой контекст надо подставить, чтоб работало?
Код:
{
public static void onClickFiles()
{
File fl = new File("storage/emulated/0/Download/app-debug.apk");
Toast toast = Toast.makeText(this, fl.getAbsolutePath() + fl .getName());
toast.show();
}
}```
Ответы (1 шт):
В классе Toast есть такие варианты функции makeText:
- public static Toast makeText (Context context, int resId, int duration)
- public static Toast makeText (Context context, CharSequence text, int duration)
Обе имеют 3 параметра.
Вам нужно так поменять свой код:
File fl = new File("storage/emulated/0/Download/app-debug.apk");
String text = fl.getAbsolutePath() + fl.getName();
Toast toast = Toast.makeText(getApplicationContext(), text, Toast.LENGTH_SHORT);
toast.show();
Третий параметр имеет такие варианты значений: