Intereting Posts
Обратный отсчет в поле времени уведомления Модернизация – Слишком много последующих запросов: 21 Как заменить GLSurfaceView на TextureView в Android Ice Cream Sandwich? Пользовательский вид. Как установить идентификаторы, чтобы их можно было найти через findViewById ()? Привязка кода JavaScript к Android-коду SharedPreferences: Является ли это классом или интерфейсом? Панель инструментов AppCompat v7 Up / Back Arrow не работает Веб-просмотр Android не будет обрабатывать события правильно, если присутствует iframe Как нарисовать стрелку с помощью графического класса Android? Экран предпочтения Пользовательский макет работает только со вторым щелчком Получение ошибки разрешения java.lang.SecurityException: отказ от разрешения на устройствах Android 3.x при получении имени вложения электронной почты Отключить прокрутку между вкладками Как заменить голубую точку моим значком на google maps v2 в android? Как работает FlurryAgent.onPageView ()? Ошибка Phonegap на Android GetPTLAFormat

Показать тост из статического метода в Android

Я хочу показать тост на экране, когда определенное условие выполняется в моем статическом методе, как показано ниже:

public static void setAuth(String a) { String[] nameparts1; if (a.trim().isEmpty()) { author = "Author's Name"; firstinit1 = "Initial"; surname1 = "Surname"; } if (a == 'X') { Toast ifx = Toast.makeText(getApplicationContext(), "Please enter name in correct format.", Toast.LENGTH_SHORT); ifx.show(); } } 

Однако это дает мне ошибку: «Невозможно сделать статическую ссылку на нестатический метод getApplicationContext () из типа ContextWrapper».

Надеюсь, я предоставил здесь достаточно информации. Любая помощь приветствуется!

Передайте контекст в качестве параметра (в вызове используйте getApplicationContext () в качестве ввода) и в статической функции используйте контекст:

 public static void setAuth(String a, Context context) { ... Toast ifx = Toast.makeText(context, "Please enter name in correct format.", Toast.LENGTH_SHORT); ... } 

И в вызове функции

 setAuth("Some String",getApplicationContext());