Java/Android:将加速度计值从onSensorChanged方法传递到onCreateSetContentView()

Java/Android:将加速度计值从onSensorChanged方法传递到onCreateSetContentView(),java,android,Java,Android,我是Java和Android编程语言的新手,这是我学习的第一个平台。 我想问,在这个方法中如何访问event.values[1] public void onSensorChanged(SensorEvent event) {synchronized (this){ if (event.sensor.getType() != Sensor.TYPE_ACCELEROMETER) return; mAccVals.x = (float) (event.values

我是Java和Android编程语言的新手,这是我学习的第一个平台。 我想问,在这个方法中如何访问event.values[1]

public void onSensorChanged(SensorEvent event) {synchronized (this){
    if (event.sensor.getType() != Sensor.TYPE_ACCELEROMETER)

        return;
    mAccVals.x = (float) (event.values[1] * FILTERING_FACTOR + mAccVals.x * (1.0 - FILTERING_FACTOR));
    //mAccVals.y = (float) ((-event.values[1] * FILTERING_FACTOR + mAccVals.y * (1.0 - FILTERING_FACTOR)));
    mAccVals.z = (float) (event.values[2] * FILTERING_FACTOR + mAccVals.z * (1.0 - FILTERING_FACTOR));

    scene.camera().position.x = mAccVals.x * .2f;
    scene.camera().position.z = mAccVals.z * .8f;

    scene.camera().target.x = -scene.camera().position.x;
    scene.camera().target.z = -scene.camera().position.z;

}
我想获取event.values[1],然后在textview上显示它

protected void onCreateSetContentView()
{   
    setContentView(R.layout.custom_layout_example); 
        LinearLayout ll = (LinearLayout) this.findViewById(R.id.scene1Holder);
        ll.addView(_glSurfaceView);
        TextView myTextView = (TextView) findViewById(R.id.splashTitle); 
        myTextView.setText("Test " + event.values[1]  );
        return;                  
 }
有什么建议我怎样才能解决这个问题?
提前感谢

在您的
活动中创建一个字段
并将其分配给您的
R.id.splashTitle

TextView mTextView;
...
protected void onCreateSetContentView() {
    mTextView = (TextView) findViewById(R.id.splashTitle);
    ...
}
然后在
onSensorChanged()
中设置它的文本,如下所示:

public void onSensorChanged(SensorEvent event) {
    mTextView.setText("Test " + event.values[1]);
    ...
}
或者,您可以将最新传感器的值存储在字段中:

// Class field
float[] mSensorValues;
// In onSensorChanged()
mSensorValues = event.values;
// In onCreateSetContentView()
myTextView.setText("Test " + mSensorValues[1]);
要保留创建时的
onCreate
和传感器更改时的
onSensorChanged
的正确顺序,您可以使用中所述的方法:


在您的
活动中创建一个字段
,并将其分配给您的
R.id.splashTitle

TextView mTextView;
...
protected void onCreateSetContentView() {
    mTextView = (TextView) findViewById(R.id.splashTitle);
    ...
}
然后在
onSensorChanged()
中设置它的文本,如下所示:

public void onSensorChanged(SensorEvent event) {
    mTextView.setText("Test " + event.values[1]);
    ...
}
或者,您可以将最新传感器的值存储在字段中:

// Class field
float[] mSensorValues;
// In onSensorChanged()
mSensorValues = event.values;
// In onCreateSetContentView()
myTextView.setText("Test " + mSensorValues[1]);
要保留创建时的
onCreate
和传感器更改时的
onSensorChanged
的正确顺序,您可以使用中所述的方法:


你能提供更多关于你的设置和你想做什么的信息吗。实际上,您正在寻找类似于
System.out.println(event.values[1])的东西我想显示加速计传感器的最新值,在本例中为事件。onSensorChanged方法中的值[1],但我不知道如何将其传递给onCreateSetContentView()。您能否提供有关设置和所需操作的更多信息。实际上,您正在寻找类似于
System.out.println(event.values[1])的东西我想显示加速计传感器的最新值,在本例中为event.values[1],来自onSensorChanged方法,但我不知道如何将其传递给onCreateSetContentView()