Replace context with getActivity().

The ApplicationContext should not be used for tasks such as creating Dialogs. As you are in a fragment you can instead get the Activity-Context simply by calling the Fragments getActivity() method.


More Information about this question (AlertDialog in a fragment, managed inside an event):

If you call AlertDialog within an event like onClick(View v) or onLongClick(View v) you can use

public boolean onClick(View v) {
    ...
    AlertDialog.Builder alertBuilder = new AlertDialog.Builder(v.getContext());
    ...
}

Try to use DialogFragment, DialogFragment is better when you use Fragments


I have had similar issues whereby I was trying to create an AlertDialog from a Fragment. A NullPointerException arose from it. Initially I did as follows:

AlertDialog alertDialog = new AlertDialog.Builder(getActivity()).create();

The NullPointerException occurred specifically when calling alertDialog.show() later on in the code. But after searching the documentation for AlertDialog.Builder(), there seemed to be another way to initialize it [AlertDialog.Builder Doc], which is to include a theme/resId as shown below:

AlertDialog alertDialog = new AlertDialog.Builder(getActivity(), R.style.Theme_AppCompat_Dialog_Alert).create();

This resolved the NullPointerException at hand. Hope this helps you as well!