Ошибка при создании тоста

1

Мой код

Context c = getApplicationContext();

CharSequence c1 = "Invalid Data Entered";

Toast t= Toast.makeText(c, c1, Toast.LENGTH_SHORT);

t.show();

он показывает NULL POINTER EXCEPTION AT Toast.makeText() line

Любая помощь..? спасибо..

  • 0
    попробуйте вместо контекста c этот Toast.makeText([YourClassName].this, Toast.LENGTH_SHORT).show();
  • 2
    где работает этот код? Это в деятельности / службы / ....?
Показать ещё 5 комментариев
Теги:
toast

9 ответов

1
Лучший ответ

Это было на самом деле потому, что я вызывал его из другого класса, а не из-за его активности.. вот почему.. IV не может создать Toast в Activity, который не работает.

  • 0
    нет, его можно узнать по AsyncTask, посмотрите на мой ответ
1

вам просто нужно использовать ваш вид вместо getApplicationContext(), например, если он просто вызывает вызов строки:

Toast.makeText(rowView.getContext, " " ,Toast.LENGTH_SHORT).show();
0

Прежде всего проверьте, вы вызываете метод toast.show() внутри действия. Потому что тост предназначен для отображения на экране пользователя, и вы не можете отображать его снаружи, как класс обслуживания или неактивности. Если вы пытаетесь показать тост, где в работе должен работать ваш код.

0

попробуйте это и проверьте.

Context c = getBaseContext(); 
CharSequence c1 = "Invalid Data Entered";

Toast t= Toast.makeText(c, c1, Toast.LENGTH_SHORT);

t.show();

или Toast t= Toast.makeText(activity, c1, Toast.LENGTH_SHORT);

вы также можете использовать активность вместо контекста.

0

Попробуйте использовать это:

Toast t= Toast.makeText(YourActivity.this, c1, Toast.LENGTH_SHORT);// YourActivity is the class name

для показа тостов.

  • 0
    я .. я попробовал это также Dinesh .. не работает ..
  • 0
    Ваш класс расширяет класс деятельности или что-то еще ....?
0

Может быть, я слепой, но единственное, что я вижу, может быть пустым, это ваш

getApplicationContext();

Проверьте, является ли этот нуль, и пусть он регистрирует его, если он есть, поэтому вы знаете причину.

Можете ли вы показать код, окружающий его, пожалуйста?

  • 0
    Это просто ответ сервера, который я получаю .. поэтому код вокруг него не имеет смысла .. я попытался дать переменную "this" в качестве аргумента ... настоящий класс расширяет Activity, поэтому он явно является Context ..
0

Напишите это..

Toast t = Toast.makeText(this, "Invalid Data Entered", Toast.LENGTH_SHORT);
t.show();
0
Context c=getApplicationContext();
Toast t=Toast.makeText(c, "invalid data enterd", Toast.LENGTH_SHORT);
t.show();

Я пробовал это, и он работает...

0

Проблема может быть в строке Context c = getApplicationContext();

Если контекст равен нулю, вы получите NULLPOINTER EXCEPTION в Toast t= Toast.makeText(c, c1, Toast.LENGTH_SHORT);

Вы можете использовать следующее, если ваш класс расширяет Activity

Toast t= Toast.makeText(Classname.class, c1, Toast.LENGTH_SHORT);

или

Toast t= Toast.makeText(this, c1, Toast.LENGTH_SHORT);

Если ваш класс не расширяет Activity, лучше передать значение контекста этому классу из вызывающей среды. после этого используйте этот контекст для создания Toast

Спасибо Дипак

Ещё вопросы

Сообщество Overcoder
Наверх
Меню