title: Android ImageAdapter with Gridview in Fragment
body: <p>I have an adapter with gridview that works as an Activity. I am trying to place it in a Fragment now and converted things but it does not work. When I include the IconFragmentSystem in my Activity I get a force close when I try to open the Activity. </p>
  
  <p>I know the Activity works because I can use other Fragments and everything is okay so I know my issue lies within this file.</p>
  
  <pre><code>package com.designrifts.ultimatethemeui;
  import com.designrifts.ultimatethemeui.R;
  import android.content.Context;
  import android.content.Intent;
  import android.content.res.Resources;
  import android.net.Uri;
  import android.os.Bundle;
  import android.support.v4.app.Fragment;
  import android.view.LayoutInflater;
  import android.view.View;
  import android.view.ViewGroup;
  import android.widget.*;
  
  import java.util.ArrayList;
  
  public class IconFragmentSystem extends Fragment implements AdapterView.OnItemClickListener{
  private static final String RESULT_OK = null;
  public Uri CONTENT_URI;
  
  public View onCreateView(LayoutInflater inflater, ViewGroup container,
          Bundle savedInstanceState) {
  
      View view = inflater.inflate(R.layout.main, container, false);
  
      super.onCreate(savedInstanceState);
      int iconSize=getResources().getDimensionPixelSize(android.R.dimen.app_icon_size);
  
      GridView gridview = (GridView) getActivity().findViewById(R.id.icon_grid);
      gridview.setAdapter(new IconAdapter(this, iconSize));
      gridview.setOnItemClickListener(this);
      CONTENT_URI=Uri.parse("content://"+iconsProvider.class.getCanonicalName());
      return view;
  }
  
  @Override
  public void onItemClick(AdapterView&lt;?&gt; adapterView, View view, int i, long l) {
      String icon=adapterView.getItemAtPosition(i).toString();
      Intent result = new Intent(null, Uri.withAppendedPath(CONTENT_URI,icon));
      setResult(RESULT_OK, result);
      finish();
  }
  private void setResult(String resultOk, Intent result) {
      // TODO Auto-generated method stub
  
  }
  
  private void finish() {
      // TODO Auto-generated method stub
  
  }
  private class IconAdapter extends BaseAdapter{
      private Context mContext;
      private int mIconSize;
      public IconAdapter(Context mContext, int iconsize) {
          super();
          this.mContext = mContext;
          this.mIconSize = iconsize;
          loadIcon();
      }
  
      public IconAdapter(IconFragmentSystem iconssystem, int iconSize) {
          // TODO Auto-generated constructor stub
      }
  
      @Override
      public int getCount() {
          return mThumbs.size();
      }
  
      @Override
      public Object getItem(int position) {
          return mThumbs.get(position);
      }
  
      @Override
      public long getItemId(int position) {
          return position;
      }
  
      @Override
      public View getView(int position, View convertView, ViewGroup parent) {
          ImageView imageView;
          if (convertView == null) {
              imageView = new ImageView(mContext);
              imageView.setLayoutParams(new GridView.LayoutParams(mIconSize, mIconSize));
          } else {
              imageView = (ImageView) convertView;
          }
          imageView.setImageResource(mThumbs.get(position));
          return imageView;
      }
  
      private ArrayList&lt;Integer&gt; mThumbs;
      ////////////////////////////////////////////////
      private void loadIcon() {
          mThumbs = new ArrayList&lt;Integer&gt;();
  
          final Resources resources = getResources();
          final String packageName = getActivity().getApplication().getPackageName();
  
          addIcon(resources, packageName, R.array.systemicons);
  
      }
      private void addIcon(Resources resources, String packageName, int list) {
          final String[] extras = resources.getStringArray(list);
          for (String extra : extras) {
              int res = resources.getIdentifier(extra, "drawable", packageName);
              if (res != 0) {
                  final int thumbRes = resources.getIdentifier(extra,"drawable", packageName);
                  if (thumbRes != 0) {
                      mThumbs.add(thumbRes);
                  }
              }
              }
             }
          }
      }
  </code></pre>
  
  <p>I have tried different ways to implement this but all have failed and I could really use help pointing me in the right direction.</p>
  
  <p>This is my xml in layout</p>
  
  <pre><code>    &lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:app="http://schemas.android.com/apk/res-auto"
          xmlns:tools="http://schemas.android.com/tools"
          android:layout_width="match_parent"
          android:layout_height="match_parent" &gt;           
    &lt;GridView
      android:id="@+id/gridview"
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent"
      android:columnWidth="90dp"
      android:numColumns="auto_fit"
      android:verticalSpacing="10dp"
      android:horizontalSpacing="10dp"
      android:stretchMode="columnWidth"
      android:gravity="center"
  /&gt;
  
      &lt;/RelativeLayout&gt;
  </code></pre>