title: android callback fails in fragment fails cannot be cast to android.content.Context
body: <p>I have a callback class gaGPS which requires I think is a context which works fine in a normal activity but when I use in a Fragment it fails </p>
  
  <p>here is my interface class</p>
  
  <pre><code>Public class gaGPS extends Service implements LocationListener {
  
  private final Context mContext;
  
  // Declaring a Location Manager
  protected LocationManager locationManager;
  
  private gaGPSinterface gpsu;
  
  public interface gaGPSinterface {
      public void locationChanged(Location newloc);
  }
  
  
  public gaGPS(Context c, gaGPSinterface gpsiface) {
      mCallback = gpsiface;
      //mContext = (Context) gpsiface;
      mContext = c;
  
  
      locationManager = (LocationManager) mContext.getSystemService(Context.LOCATION_SERVICE);
  }
  </code></pre>
  
  <p>snip</p>
  
  <p>I'm launching the Fragment using this FragmentActivity class</p>
  
  <pre><code>public class gaDetailsActivity extends FragmentActivity {
  
  @Override
  protected void onCreate(Bundle savedInstanceState) {
      // TODO Auto-generated method stub
      super.onCreate(savedInstanceState);
      setContentView(R.layout.gpsfragment);
  
  }
  </code></pre>
  
  <p>here is the gpsfragment.xml</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  tools:context=".gpsfragment" &gt;
  &lt;fragment
      android:id="@+id/gpsTestFragLayout"
      android:name="id.wilsononline.gcadroid.gpsfragment"
      android:layout_width="0dp"
      android:layout_height="match_parent"
      android:layout_weight="1" /&gt;
  </code></pre>
  
  <p></p>
  
  <p>the following is the Fragment I'm using</p>
  
  <pre><code>public class gpsfragment extends Fragment implements gaGPS.gaGPSinterface {
  
  private gaGPS gps;
  
  @Override
  public void locationChanged(Location newloc) {
      // TODO Auto-generated method stub
  
  }
  
  @Override
  public void onAttach(Activity activity) {
      // TODO Auto-generated method stub
      super.onAttach(activity);
  }
  
  
  @Override
  public View onCreateView(LayoutInflater inflater, ViewGroup container,
          Bundle savedInstanceState) {
      // TODO Auto-generated method stub
      View rootView = inflater.inflate(R.layout.gpsdetails, container, false);
      ((TextView) rootView.findViewById(R.id.gpsText1)).setText("testing fragment");
  
      Context c = getActivity().getApplicationContext();
  
      gps = new gaGPS(c, (gaGPSinterface) getActivity());
  
      return rootView;
  }
  </code></pre>
  
  <p>}</p>
  
  <p>errors I'm getting are :
  java.lang.ClassCastException: com.test.app.gpsfragment cannot be cast to android.content.Context</p>
  
  <p>more fuller output:</p>
  
  <pre><code>E/AndroidRuntime( 3118): Caused by: android.view.InflateException: Binary XML file line #8: Error inflating class fragment
  E/AndroidRuntime( 3118):        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
  E/AndroidRuntime( 3118):        at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
  E/AndroidRuntime( 3118):        at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
  E/AndroidRuntime( 3118):        at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
  E/AndroidRuntime( 3118):        at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
  E/AndroidRuntime( 3118):        at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:256)
  E/AndroidRuntime( 3118):        at android.com.test.app.Activity.setContentView(Activity.java:1867)
  E/AndroidRuntime( 3118):        at id.wilsononline.gcadroid.gaDetailsActivity.onCreate(gaDetailsActivity.java:12)
  E/AndroidRuntime( 3118):        at android.com.test.app.Activity.performCreate(Activity.java:5008)
  E/AndroidRuntime( 3118):        at android.com.test.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
  E/AndroidRuntime( 3118):        at android.com.test.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)
  E/AndroidRuntime( 3118):        ... 11 more
  E/AndroidRuntime( 3118): Caused by: java.lang.ClassCastException: com.test.com.test.app.gaDetailsActivity cannot be cast to id.wilsononli
  ne.gcadroid.gaGPS$gaGPSinterface
  E/AndroidRuntime( 3118):        at com.test.com.test.app.gpsfragment.onCreateView(gpsfragment.java:49)
  E/AndroidRuntime( 3118):        at android.support.v4.com.test.app.Fragment.performCreateView(Fragment.java:1460)
  E/AndroidRuntime( 3118):        at android.support.v4.com.test.app.FragmentManagerImpl.moveToState(FragmentManager.java:884)
  E/AndroidRuntime( 3118):        at android.support.v4.com.test.app.FragmentManagerImpl.moveToState(FragmentManager.java:1066)
  E/AndroidRuntime( 3118):        at android.support.v4.com.test.app.FragmentManagerImpl.addFragment(FragmentManager.java:1168)
  E/AndroidRuntime( 3118):        at android.support.v4.com.test.app.FragmentActivity.onCreateView(FragmentActivity.java:280)
  E/AndroidRuntime( 3118):        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:676)
  E/AndroidRuntime( 3118):        ... 21 more
  </code></pre>