Оказывается, контекст действия отличается от объекта, возвращаемого getApplicationContext (). Это можно проверить с помощью ведения журнала, просто выведите ActivityName.this и getApplicationContext.
Объект, возвращаемый getApplicationContext, является глобальным, в то время как контекст действия, ну, в общем, принадлежит только этому действию.
Log.e(tag,""+ getApplicationContext());
Log.e(tag,""+CustomDialogActivity.this);
где CustomDialogActivity - это мое действие, в котором я хочу показать свой диалог.
Для диалогов требуется контекст действия, а getApplicationContext () этого не обеспечивает. Как написано здесь (читай комментарии) контекст действия - это расширенный набор getApplicationContext (). Поэтому хорошо всегда передавать контекст действия, а не глобальный контекст.
Также, чтобы ответить на комментарий ffleandro на этой странице, если вы внутри onClick (), вы можете использовать
ActivityName.this для обозначения активности. Надеюсь, это поможет