2013-07-27 5 views
2

J'essaie d'ajouter un sensoreventlistener à un fragment dans mon application.Android - SensorEventListenr dans un fragment

Ci-dessous le code que je utilise pour définir le capteur

Context context; 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 

    mLinearLayout = (LinearLayout) inflater.inflate(
      R.layout.game, container, false); 
     this.context = context; 

     mSensorManager = (SensorManager)context.getSystemService(Context.SENSOR_SERVICE); 
//above is line 49 which is referenced in the logcat 
     mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); 

//... 
return mLinearLayout; 
} 

Et voici l'erreur logcat

07-27 00:19:50.907: E/AndroidRuntime(20595): FATAL EXCEPTION: main 
07-27 00:19:50.907: E/AndroidRuntime(20595): java.lang.NullPointerException 
07-27 00:19:50.907: E/AndroidRuntime(20595): at com.Optimus.iwould.Game.onCreateView(Game.java:49) 
07-27 00:19:50.907: E/AndroidRuntime(20595): at android.support.v4.app.Fragment.performCreateView(Fragment.java:1478) 
07-27 00:19:50.907: E/AndroidRuntime(20595): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:927) 

Merci

Répondre

1

votre contexte est null

this.context = context; 

et que vous utilisez contexte à la ligne 49

mSensorManager = (SensorManager)context.getSystemService(Context.SENSOR_SERVICE); 

qui est nul

+0

alors comment puis-je faire pas nul –

+2

@CamConnor soit essayer par getActivity() ou par ce mot-clé! –

+0

Mes excuses, didnt réaliser. –

1

Essayez

mSensorManager = (SensorManager) getActivity().getSystemService(Context.SENSOR_SERVICE); 
Questions connexes