2

アプリのフラグメントに sensoreventlistener を追加しようとしています。

以下は、センサーを定義するために使用しているコードです

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;
}

そして、ここに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)

ありがとう

4

2 に答える 2

1

あなたの文脈はnull

this.context = context;

49行目でコンテキストを使用しています

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

これはヌルです

于 2013-07-27T04:36:07.687 に答える
1

試す

mSensorManager = (SensorManager) getActivity().getSystemService(Context.SENSOR_SERVICE);
于 2013-07-27T04:37:30.450 に答える