gpt4 book ai didi

android - 对于加速度计传感器的获取数据 fragment 类型,未定义方法 findViewById(int)

转载 作者:太空宇宙 更新时间:2023-11-03 12:37:42 26 4
gpt4 key购买 nike

我正在做我的项目,通过 Android 平台中的加速度计传感器获取数据。我在最后 3 行代码中有错误代码。确切的错误是 findViewById 不是用于获取数据 fragment 。那么,我如何在 Fragment 中使用 findviewbyId 来获取数据加速度计传感器?非常感谢您的回答:)

import android.app.Activity;
import android.app.Fragment;
import android.content.Context;
import android.hardware.Sensor;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.TextureView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorManager;
import android.hardware.SensorEventListener;


public class GetDataFragment extends Fragment implements SensorEventListener {

//definisi variabel-variabel
//Sensor accelerometer;
private Activity parent;
TextView koordinatX;
TextView koordinatY;
TextView koordinatZ;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
return inflater.inflate(R.layout.get_data, container, false);
}

private SensorManager sensorManager;
private Sensor sensor;
//TextView koordinatX;


@Override
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);

parent = getActivity();


sensorManager = (SensorManager) parent.getSystemService(Context.SENSOR_SERVICE);
sensor = sensorManager.getSensorList(Sensor.TYPE_ACCELEROMETER).get(0);


koordinatX = (TextView)findViewById(R.id.coordinatx);
koordinatY = (TextView)findViewById(R.id.coordinaty);
koordinatZ = (TextView)findViewById(R.id.coordinatz);


}

最佳答案

您必须在 onCreateView() 中扩充您的 Views:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.get_data, container, false);
koordinatX = (TextView)rootView.findViewById(R.id.coordinatx);
koordinatY = (TextView)rootView.findViewById(R.id.coordinaty);
koordinatZ = (TextView)rootView.findViewById(R.id.coordinatz);
return rootView;
}

希望这对您有所帮助。

关于android - 对于加速度计传感器的获取数据 fragment 类型,未定义方法 findViewById(int),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14919182/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com