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 回答