title: Attempt to invoke virtual method 'android.content.Context android.support.v4.app.FragmentActivity.getApplicationContext()' on a null object reference
body: <p>Following is my code for my fragment, i get the above error of null exception</p>
  
  <pre><code> /**
    * Created by USer on 09-04-2016.
    */
   public class FeaturedFragment extends android.support.v4.app.Fragment {
       private List url;
       private SliderLayout sliderLayout;
       private GridView gridView;
       private int firstVisiblepos;
       AppnextAPI api;
  
       @Nullable
       @Override
       public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
           View rootView = inflater.inflate(
                   R.layout.featured, container, false);
           url = new ArrayList&lt;String&gt;();
           url.add("http://192.168.5.51/Wallpapers/Autumn.jpg");
           url.add("http://192.168.5.51/Wallpapers/Tree.jpg");
           url.add("http://192.168.5.51/Wallpapers/Flower.jpg");
           url.add("http://192.168.5.51/Wallpapers/Lion.jpg");
           api = new AppnextAPI(getActivity(), "my id");
           sliderLayout = (SliderLayout) rootView.findViewById(R.id.slider);
           gridView = (GridView) rootView.findViewById(R.id.gridView);
           ThemeShowcase theme = new ThemeShowcase();
           theme.execute("getThemes");
           for (int i = 0; i &lt; url.size(); i++) {
               TextSliderView textSliderView = new TextSliderView(getActivity().getApplicationContext());
               textSliderView.image((String) url.get(i));
               sliderLayout.addSlider(textSliderView);
           }
           sliderLayout.setDuration(4000);
           sliderLayout.setPresetTransformer(SliderLayout.Transformer.Stack);
           return rootView;
       }
  
  
       private class ThemeShowcase extends AsyncTask&lt;String, Integer, ArrayList&lt;ThemeModel&gt;&gt; {
  
           private final String NAMESPACE = "http://tempuri.org/";
           private final String URL = "http://192.168.5.51/WebApplication/WebService.asmx";
           private final String SOAP_ACTION = "http://tempuri.org/";
           private String responseString;
           private ArrayList model = null;
           private ThemeModel dummy;
  
           @Override
           protected void onPreExecute() {
               super.onPreExecute();
               model = new ArrayList&lt;ThemeModel&gt;();
           }
  
           @Override
           protected ArrayList&lt;ThemeModel&gt; doInBackground(String... params) {
               try {
                   SoapObject request = new SoapObject(NAMESPACE, params[0]);
                   PropertyInfo sayHelloPI = new PropertyInfo();
                   sayHelloPI.setName("page");
                   sayHelloPI.setValue("1");
                   sayHelloPI.setType(Integer.class);
                   request.addProperty(sayHelloPI);
                   SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
                           SoapEnvelope.VER11);
                   envelope.dotNet = true;
                   envelope.setOutputSoapObject(request);
                   HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
                       androidHttpTransport.call(SOAP_ACTION + params[0], envelope);
                       SoapPrimitive response = (SoapPrimitive) envelope.getResponse();
                       responseString = response.toString();
                   if (!responseString.equalsIgnoreCase("Error occured")) {
                       JSONArray array = new JSONArray(responseString);
                       for (int i = 0; i &lt; array.length(); i++) {
                           JSONObject objct = array.getJSONObject(i);
                           dummy = new ThemeModel();
                           dummy.preview = objct.getString("Preview");
                           dummy.name = objct.getString("Name");
                           model.add(dummy);
                       }
                   }
  
               } catch (Exception e) {
                   model = null;
                   return model;
               }
               return model;
           }
  
           @Override
           protected void onPostExecute(ArrayList&lt;ThemeModel&gt; model) {
               if(model!=null) {
                   gridView.setAdapter(new ImageAdapter(getActivity().getApplicationContext(), model));
                   firstVisiblepos = gridView.getFirstVisiblePosition();
               }else{
                   try {
                       Toast.makeText(getActivity().getApplicationContext(), "Site Unreachable", Toast.LENGTH_LONG).show();
                   }catch (Exception e){
                       Log.d("MyApp","exception");
                   }
               }
           }
       }
   }
  </code></pre>
  
  <p>here's my image adapter</p>
  
  <pre><code> public class ImageAdapter extends BaseAdapter implements View.OnClickListener{
  
       private Context context;
       private LayoutInflater inflater;
       private ArrayList&lt;ThemeModel&gt; model;
       public ImageAdapter(Context context,ArrayList&lt;ThemeModel&gt; model) {
           this.inflater = LayoutInflater.from(context);
           this.context = context;
           this.model = model;
  
       }
  
       @Override
       public int getCount() {
           return model.size();
       }
  
       @Override
       public Object getItem(int position) {
           return null;
       }
  
       @Override
       public long getItemId(int position) {
           return 0;
       }
  
       @Override
       public View getView(int position, View convertView, ViewGroup parent) {
           convertView = inflater.inflate(R.layout.custom_item,null);
           CardView cardView = (CardView)convertView.findViewById(R.id.cardView);
           cardView.setOnClickListener(this);
           ImageView imageView = (ImageView)convertView.findViewById(R.id.imageView);
           final ProgressBar progressBar = (ProgressBar)convertView.findViewById(R.id.progressbar);
           TextView textView = (TextView)convertView.findViewById(R.id.contentName);
           ImageButton imageButton = (ImageButton)convertView.findViewById(R.id.downloadButton);
           textView.setText(model.get(position).getName());
           Picasso.with(context).load(model.get(position).getPreview()).into(imageView, new Callback() {
               @Override
               public void onSuccess() {
                   progressBar.setVisibility(View.GONE);
               }
  
               @Override
               public void onError() {
  
               }
           });
           return convertView;
       }
  
       @Override
       public void onClick(View v) {
  
       }
   }
  </code></pre>
  
  <p>i keep getting force close on below line</p>
  
  <pre><code>gridView.setAdapter(new ImageAdapter(getActivity().getApplicationContext(), model));
  </code></pre>
  
  <p>the error is</p>
  
  <pre><code>java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.Context android.support.v4.app.FragmentActivity.getApplicationContext()' on a null object reference
  </code></pre>
  
  <p>i have tried using getActivity(),getContext() etc but none of them work</p>