android - 在 fragment 中调用 getSystemServices 时未定义?

标签 android android-fragments android-sensors

我要TextViewsFragment 中显示传感器读数.当试图初始化 SensorManager getSystemServicesFragment 中未定义, eclipse 说。为什么以及如何解决它。

fragment

public class FragSensors extends Fragment {

private TextView accXTv, accYTv, accZTv;
private SensorManager sensorManager;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    View v = inflater.inflate(R.layout.frag_sensors, container, false);
    accXTv = (TextView) v.findViewById(R.id.accXValue);
    accYTv = (TextView) v.findViewById(R.id.accYValue);
    accZTv = (TextView) v.findViewById(R.id.accZValue);
    return v;
}

@Override
public void onActivityCreated(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onActivityCreated(savedInstanceState);
    sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);

}

private final SensorEventListener mSensorListener = new SensorEventListener() {

    @Override
    public void onSensorChanged(SensorEvent arg0) {
        // TODO Auto-generated method stub

    }

    @Override
    public void onAccuracyChanged(Sensor arg0, int arg1) {
        // TODO Auto-generated method stub

    }
};

}

最佳答案

只需再调用一个方法:

sensorManager = (SensorManager) getActivity().getSystemService(Context.SENSOR_SERVICE);  

为什么要调用一个额外的方法? getSystemService()提供访问系统服务的方法来自Context .一个 Activity扩展 Context , 一个 Fragment才不是。因此,您首先需要获得对 Activity 的引用。其中Fragment包含,然后神奇地检索您想要的系统服务。

关于android - 在 fragment 中调用 getSystemServices 时未定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61757259/

相关文章:

android - 放置错误消息时 TextView 中的文本正在更改

android - getMeasuredHeight 和 getHeight 有什么区别

android-studio - 如何在抽屉导航中添加切换按钮

android - 读取 Android RGB 光传感器 - Galaxy S5

android - 使用传感器的方向

android - 如何从/dev/iio :deviceX?中读取LSM330的数据

Android Studio gradle sync,尝试错误下载jar而不是aar

android - Android 上的 VPN 客户端 : questions about VPN client and use of hidden APIs

android - 为 NavigationView 保存实例?

android - 更新卡片 View 列表中的文本?