Java/Android : passing accelerometer value from onSensorChanged method to onCreateSetContentView() -
i'm new on java , android programming language , first platform studied. want ask, how can access event.values[1] in method?
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; }
i want event.values[1] , display on 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; }
there's suggestion how can solve problem? in advance
create field in activity
, assign r.id.splashtitle
:
textview mtextview; ... protected void oncreatesetcontentview() { mtextview = (textview) findviewbyid(r.id.splashtitle); ... }
then set it's text in onsensorchanged()
follows:
public void onsensorchanged(sensorevent event) { mtextview.settext("test " + event.values[1]); ... }
or may store recent sensor's values in field:
// class field float[] msensorvalues; // in onsensorchanged() msensorvalues = event.values; // in oncreatesetcontentview() mytextview.settext("test " + msensorvalues[1]);
to preserve right sequense of oncreate
, onsensorchanged
may use approach described in documentation:
protected void onresume() { super.onresume(); msensormanager.registerlistener(this, maccelerometer, sensormanager.sensor_delay_normal); } protected void onpause() { super.onpause(); msensormanager.unregisterlistener(this); }
Comments
Post a Comment